-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support building multi-platform docker images #256
Conversation
Thanks! PS. Is it possible to have Dockerhub build multiarch images? |
OK. I'll merge the PR, but wouldn't publish a new release to DockerHub until I figured a good workflow for myself. |
The complication is that, now I run an ARM Mac and use |
When trying to run on a Linux x86 machine:
Any ideas? |
I already implied in |
I just ran into the same case as well. Changing
I assume |
Thanks for figuring this out! |
Everything is building fine! I pushed 1.17.0. Thanks for you help! |
Incredible work! |
I'm glad to help. I have been using Apache for more than 20 years with an increasing number of domains and became increasingly unhappy with the amount of boilerplate needed for even just simple stuff. I am extremely happy to have found this software which gets rid of all the duplication of almost-but-not-exactly similar boilerplate, which makes it hard to keep track of the really important stuff. Now I also can use it on Raspberry Pi, and maybe even more. Thanks! |
Using
sudo make docker-multiarch
, it is now possible to create a multi-platform docker image for i386, amd64, armv7 and arm64v8 in one go.It is based on https://netfuture.ch/2020/05/multi-arch-docker-image-easy/, which I have been using in several projects.
Complications arose from:
docker build .
ARG TARGETPLATFORM
(Default value onTARGETPLATFORM
always overrides docker/buildx#510)nginx
Docker image forlinux/arm/v5
appears brokenarchname
needs to be installed early, but the rest offs_overlay
cannot be (in order to avoid installation problems later)Therefore, architecture names and compatibility is determined by
./fs_overlay/bin/archname
and S6-Overlay+Docker-Gen are fetched inRUN
commands usingwget
. To allow backquote substitutions, they need to be run insh -c
. (This allowed for directly piping totar
, BTW.)