-
-
Notifications
You must be signed in to change notification settings - Fork 836
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
build arm and x86_64 docker containers #1097
Conversation
…ntainers. Buildx is a alternate builder that allows you to build many containers at once. This uses binfmt and qemu to allow linux to run arm programs allowing you to build containers for arm on an x86 machine. This will build containers for x86_64, arm 8 (arm 64), and arm 7 containers and push this to docker hub. The user can then pull stash for thair cpu as needed. This uses ubuntu and includes ffmpeg and python needed for some scrapers and plugins.
The |
Getting the following output when running the buildx process:
|
How are you running that? just on your computer or through travis? I assume you have run the following to add binfmt support to docker: Can you paste the output of the following? The crash is from qemu crashing trying to emulate arm 7 that I suspect are with moby/buildkit. The binfmt recommendation might also need to change the docker container was the one recommended by a blog post from docker but that is out dated. It looks like the recommended container is: I have tested travis running xenial and it successfully built containers and pushed this to my docker hub account so that combination of tools should be fine. |
I'm running this manually in a debian VM. You're correct regarding the binfmt support. I've since ran that and now get the following when building:
|
That was probably a temporary network error / mirror issue while getting the specific package. |
As you are building multi platform images it needs to push the file system images and metadata so you need to push this to a registry. docker run -d -p 5000:5000 --restart always --name registry registry:2 If you want to use a self signed certificate it gets a little more complex as you need to put the certificate in /usr/local/share/ca-certificates/ and run update-ca-certificates. |
I tried to finish my testing by pushing to a local registy but that didnt go well |
This changes travisci to use docker buildx to build arm and x86_64 containers.
Buildx is a alternate builder for docker that allows you to build many containers at once.
This uses binfmt and qemu to allow linux to run arm programs allowing you to build containers for arm on an x86 machine.
This will build containers for x86_64, arm 8 (arm 64), and arm 7 containers and push this to docker hub.
The user can then pull stash for thair cpu as needed.
This uses ubuntu and includes ffmpeg and python needed for some scrapers and plugins.