-
Notifications
You must be signed in to change notification settings - Fork 18.9k
Description
[This will be updated as details appear.]
Under certain (all?) circumstances, cross building an image on one architecture for another results in an image that's labelled for the wrong architecture. This is noted in Swarm, specifically at moby/swarmkit#2401 (comment) .
There, @justincormack notes
Currently there is no way to label something as a different architecture if you cross build it. That missing feature is a moby/moby issue rather than a swarmkit one (not sure if there is an existing issue).
The impact is that if you run one of these cross-built images that Swarm will fail to schedule it, as "no suitable node available for task".
An example image that fails in this way is this one:
ed$ docker run --rm mplatform/mquery luxas/prometheus-arm64:v1.5.2
Manifest List: No
Supports: amd64/linux
which is built from https://github.com/luxas/kubeadm-workshop/blob/master/images/prometheus/Makefile
Tracking the larger issue at moby/swarmkit#2401