-
Notifications
You must be signed in to change notification settings - Fork 219
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
Publish multi-platform images #1306
Comments
(This is particularly useful for developing on ARM-based Macs, as ARM Linux containers run way faster than QEMU-emulated x86_64 images on Docker there. But it also lets you simplify creation of Python packages for multiple platforms if your build system is already multi platform capable.) |
Thanks @reuben for this proposal. |
FWIW QEMU works for us on GitHub Actions with the buildx builder: https://github.com/docker/setup-buildx-action#with-qemu |
But a post-process step that just builds and pushes a multi-platform manifest is probably the simplest implementation. |
Explanation for no-go in the previous comment:
|
Regarding this I've used the docker manifest command to mirror and upload a multiarch manifest to dockerhub. Here's the repo that does the action, the bash script feels relatively straight forward. I feel like this might work on the quay platform too. |
It'd be great if the project could publish multi-platform images so that one can do multi-arch Docker builds using buildx and e.g.
docker buildx build --platforms linux/amd64,linux/arm64
.See some relevant docs:
Right now, because the images for different architectures have different names, one either has to create a manifest by hand, or use separate downstream Dockerfiles for each arch. I've tried out with my own manifest and it works well for multi-platform builds:
The above lets me write a Dockerfile with
FROM ghcr.io/reuben/manylinux_2_24:2022-03-31-361e6b6
and build it for multiple platforms with a singledocker buildx build --platforms linux/amd64,linux/arm64 .
call.The text was updated successfully, but these errors were encountered: