Skip to content

cross build and architecture labeling #35158

@vielmetti

Description

@vielmetti

[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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions