Closed
Description
While trying to build images for multi-architecture (AMD64 and ARM64), I tried to load them into the Docker daemon with the --load
parameter but I got an error:
➜ docker buildx build --platform linux/arm64,linux/amd64 --load -t carlosedp/test:v1 .
[+] Building 1.3s (24/24) FINISHED
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 115B 0.0s
=> [linux/amd64 internal] load metadata for docker.io/library/alpine:latest 0.8s
=> [linux/amd64 internal] load metadata for docker.io/library/golang:1.12-alpine 1.0s
=> [linux/arm64 internal] load metadata for docker.io/library/golang:1.12-alpine 1.2s
=> [linux/arm64 internal] load metadata for docker.io/library/alpine:latest 1.2s
=> [linux/amd64 builder 1/5] FROM docker.io/library/golang:1.12-alpine@sha256:1a5f8b6db670a7776ce5beeb69054a7cf7047a5d83176d39b94665a54cfb9756 0.0s
=> => resolve docker.io/library/golang:1.12-alpine@sha256:1a5f8b6db670a7776ce5beeb69054a7cf7047a5d83176d39b94665a54cfb9756 0.0s
=> [linux/amd64 stage-1 1/4] FROM docker.io/library/alpine@sha256:28ef97b8686a0b5399129e9b763d5b7e5ff03576aa5580d6f4182a49c5fe1913 0.0s
=> => resolve docker.io/library/alpine@sha256:28ef97b8686a0b5399129e9b763d5b7e5ff03576aa5580d6f4182a49c5fe1913 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 232B 0.0s
=> CACHED [linux/amd64 stage-1 2/4] RUN apk add --no-cache file && rm -rf /var/cache/apk/* 0.0s
=> CACHED [linux/amd64 builder 2/5] WORKDIR /go/src/app 0.0s
=> CACHED [linux/amd64 builder 3/5] ADD . /go/src/app/ 0.0s
=> CACHED [linux/amd64 builder 4/5] RUN CGO_ENABLED=0 go build -o main . 0.0s
=> CACHED [linux/amd64 builder 5/5] RUN mv /go/src/app/main / 0.0s
=> CACHED [linux/amd64 stage-1 3/4] COPY --from=builder /main /main 0.0s
=> [linux/arm64 builder 1/5] FROM docker.io/library/golang:1.12-alpine@sha256:1a5f8b6db670a7776ce5beeb69054a7cf7047a5d83176d39b94665a54cfb9756 0.0s
=> => resolve docker.io/library/golang:1.12-alpine@sha256:1a5f8b6db670a7776ce5beeb69054a7cf7047a5d83176d39b94665a54cfb9756 0.0s
=> [linux/arm64 stage-1 1/4] FROM docker.io/library/alpine@sha256:28ef97b8686a0b5399129e9b763d5b7e5ff03576aa5580d6f4182a49c5fe1913 0.0s
=> => resolve docker.io/library/alpine@sha256:28ef97b8686a0b5399129e9b763d5b7e5ff03576aa5580d6f4182a49c5fe1913 0.0s
=> CACHED [linux/arm64 stage-1 2/4] RUN apk add --no-cache file && rm -rf /var/cache/apk/* 0.0s
=> CACHED [linux/arm64 builder 2/5] WORKDIR /go/src/app 0.0s
=> CACHED [linux/arm64 builder 3/5] ADD . /go/src/app/ 0.0s
=> CACHED [linux/arm64 builder 4/5] RUN CGO_ENABLED=0 go build -o main . 0.0s
=> CACHED [linux/arm64 builder 5/5] RUN mv /go/src/app/main / 0.0s
=> CACHED [linux/arm64 stage-1 3/4] COPY --from=builder /main /main 0.0s
=> ERROR exporting to oci image format 0.0s
------
> exporting to oci image format:
------
failed to solve: rpc error: code = Unknown desc = docker exporter does not currently support exporting manifest lists
I understand that the daemon can't see the manifest lists but I believe there should be a way to tag the images with some variable, like:
docker buildx build --platform linux/arm64,linux/amd64 --load -t carlosedp/test:v1-$ARCH .
To have both images loaded into the daemon and ignoring the manifest list in this case.
Metadata
Metadata
Assignees
Labels
No labels