-
Notifications
You must be signed in to change notification settings - Fork 587
Description
Hi all,
I've been using buildx on osx-desktop (edge version) to build some multiarch images. I'm now trying to replicate the buildx experience on linux. In this case debian stretch, QEMU installed and docker 19.03. I've had limited success, but I'm really looking forward to getting this working.
First thing is that if starting from scratch we need to add a list of required installs on the host to make this work (if there are any). Secondly in order to make the build on 19.03+ work i had to enable experimental on docker. It might be nice if this could be added to the docs.
Now its build I can get this working:
$ docker buildx build .
[+] Building 8.4s (23/32)
=> ...
my docker buildx ls however shows only support for linux/amd64 despite my having QEMU installed. I'm guessing i need to link this somehow. I tried:
docker buildx create --platform linux/amd64/,linux/arm64,linux/arm/v7 --name mybuilder
This seems to work:
NAME/NODE DRIVER/ENDPOINT STATUS PLATFORMS
mybuilder * docker-container
mybuilder0 unix:///var/run/docker.sock inactive linux/amd64, linux/arm64, linux/arm/v7
However i can't build on those target platforms :(
root@ip-10-100-0-29:/etc/docker# docker buildx build --platform linux/arm64 -t richarvey/nginx-demo --push .
[+] Building 2.0s (3/3) FINISHED
=> [internal] booting buildkit 1.8s
=> => pulling image moby/buildkit:master 1.3s
=> => creating container buildx_buildkit_mybuilder0 0.5s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 2B 0.0s
failed to solve: rpc error: code = Unknown desc = failed to read dockerfile: open /tmp/buildkit-mount550903397/Dockerfile: no such file or directory
I'm probably missing a real simple step but couldn't find it int he guide. Any help really appreciated.