Pulling microsoft/dotnet:2.1-runtime responds with "No matching manifest for linux/arm64 in the manifest list entries"


#1

Not sure where the issue is because dotnet dockerfiles are multiarch since 2.1. When building in local mode it works fine. Any idea?

[Info] Starting build for simulated-dev, user gh_bnjmn83
[Info] Dashboard link: https://dashboard.balena-cloud.com/apps/xxxx/devices
[Info] Building on arm03
[Info] Pulling previous images for caching purposes…
[Success] Successfully pulled cache images
[simulateddevice] Step 1/20 : FROM microsoft/dotnet:2.1-runtime AS base
[simulateddevice] no matching manifest for linux/arm64 in the manifest list entries
[Error] Some services failed to build:
[Error] Service: simulateddevice
[Error] Error: no matching manifest for linux/arm64 in the manifest list entries
[Error] Not deploying release


#2

bump


#3

Anyone?


#4

Hey @bnjmn83, I will investigate it and get back to you asap.

Cheers


#5

Hey @bnjmn83, beacuse you said it worked in local mode, I’m assuming you have an armv7 device? I checked the manifest for that image, and there indeed is not one for armv8.

What this looks like to me is that our docker daemons (which run on armv8/aarch64 servers) are trying to pull the aarch64 version that does not exist, even though we have some infrastructure in place to run builds as the correct architecture. There are some other places where this infrastructure falls down, but we’ve not seen this before.

I’ll raise this internally to see what we can do about it, but in the meantime, could you trying force-running an emulated build?

balena push simulated-dev --emulated

If this also fails, you could biuld locally on a device and balena deploy the result, but this is less than ideal.

Cameron


#6

Thank you for getting back at me.

Yes I do have a RPI3 running locally to verify that the dotnet runtime works on this architecture.

Results in:

[Info]     Uploading images
[Success]  Successfully uploaded images
[Success]  Release successfully created!
[Info]     Release: 0b69e45877eefc30107b0866bfa106fe (id: 739894)
[Info]     ┌─────────┬────────────┬────────────┐
[Info]     │ Service │ Image Size │ Build Time │
[Info]     ├─────────┼────────────┼────────────┤
[Info]     │ main    │ 177.00 MB  │ 36 seconds │
[Info]     └─────────┴────────────┴────────────┘
[Info]     Build finished in 1 minute, 8 seconds

So this prooves the image can be created in general but does not take into account the appropriate architecture right?

I also tried

>> balena build --deviceType raspberrypi3 --arch armv7hf --emulated
Docker seems to be unavailable. Is it installed and running?

If you need help, don't hesitate in contacting us at:

  GitHub: https://github.com/balena-io/balena-cli/issues/new
  Forums: https://forums.balena.io

I tried this but on the device itselft it does not invoke the cli but the container engine:

root@676b116:~# balena deploy
balena-engine: 'deploy' is not a balenaEngine command.
See 'balena-engine --help'