Skip to content
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

Build images with aarch64/arm64 support #47

Open
wdconinc opened this issue Jan 17, 2023 · 5 comments
Open

Build images with aarch64/arm64 support #47

wdconinc opened this issue Jan 17, 2023 · 5 comments
Assignees

Comments

@wdconinc
Copy link

Several of the docker images for which recipes are provided here should work 'just fine' with aarch64 architectures to run natively on Mac M1/M2 architectures (fedora has a multiarch base images and fedora makes aarch64 packages available), but others may require work (ubuntu downloads the x86_64 build from root.cern, where no aarch64 is made available). Is it possible to push at a minimum 1 image with arm64 (i.e. aarch64) support to docker hub?

The procedure to build a multiarch image with least amount of effort (even if it would take a bit of time) is described in https://docs.docker.com/build/building/multi-platform/. Essentially, the following commands may be sufficient:

apt-get install qemu binfmt-support qemu-user-static
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker buildx create --name builder --driver docker-container --bootstrap --use
docker buildx build --load --platform linux/arm64 -t rootproject/root:6.26.10-fedora36 -f fedora/Dockerfile fedora/

I am not a direct user, but it would facilitate our offerings of HSF Training workshops if Mac users could get up and running with an image that can run at native speeds. I think a phased rollout where not all images are supporting arm64 from the start would be fine.

@eguiraud eguiraud self-assigned this Jan 17, 2023
@eguiraud
Copy link
Member

Hi @wdconinc ,

thank you for reaching out! Do I understand correctly that at least some of the current images can be used as-is, although with a performance penalty?

At the moment we don't really have the personpower to work on this but I have assigned the issue to me so it doesn't get forgotten.

@wdconinc
Copy link
Author

They can be used as is, but with a performance penalty due to emulation.

@meiyasan
Copy link

Hello @eguiraud , I was just about to ask the same as @wdconinc !
It would be really great to provide both amd64/arm64 docker images.

I was running some performance benchmark tests for computing resources estimations (K8s cluster) and I just discovered that my docker image wasn't arm64. This would be very useful if this was deployed with these two main architectures

@martamaja10 martamaja10 self-assigned this Feb 22, 2024
@martamaja10
Copy link
Contributor

Hi @xkzl,

thanks for reporting and we hear you. I also added myself to this issue. I will keep you updated once this is done (but it might be non-immediate).

Cheers,
Marta

@meiyasan
Copy link

Hi, @martamaja10 any progress on this ? I noticed some perfs issue on my ARM computers due to emulation of x86_64.
Perhaps some adaptation might be possible to provide support for building both images using --platform options.

docker buildx build --platform linux/amd64,linux/arm64 -t your-image-name .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants