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

Add ARM64 architecture to the Docker image #31

Closed
yurishkuro opened this issue Nov 9, 2023 · 6 comments
Closed

Add ARM64 architecture to the Docker image #31

yurishkuro opened this issue Nov 9, 2023 · 6 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@yurishkuro
Copy link
Member

Currently the image built here cannot be used on Macs that use Apple hardware, because the image is only built for amd64 architecture. It would be great to extent this to include arm64, similar to how we build multi-arch images in Jaeger.

@yurishkuro yurishkuro added good first issue Good for newcomers help wanted Extra attention is needed labels Nov 9, 2023
@Wh1isper
Copy link

Wh1isper commented Nov 10, 2023

Maybe use docker buildx to support multiple platforms? Do you think it's better to cross-compile or use QEMU emulation?

I can help with cross-platform image builds using buildx (based on QEMU emulation):
https://github.com/Wh1isper/docker-protobuf/blob/feature-upgrade/.github/workflows/wh1isper-dockerimage.yml#L32

@yurishkuro
Copy link
Member Author

I don't have a preference. For Jaeger binaries we are using cross-compiling and buildx, I don't know which is better for the protobuf. Did you test the workflow that you linked?

@yurishkuro
Copy link
Member Author

Also, I am not a big fan of using docker/build-push-action@v4, because it means I cannot reproduce the build locally, only in a GH workflow.

@Wh1isper
Copy link

@yurishkuro Understood, I'm going to try to build a cross-platform image with buildx, and if it's works, I will submit a PR.

The workflow I linked to can build amd64 image for testing this pr: jaegertracing/jaeger-idl#101 (Forgive the scribbling on this job.)

@Wh1isper
Copy link

Some feedback #32:

  • QEMU builds are too slow and exceed the limits of github action.
  • It took about 3.5 hours to build the ARM64 image on my 7700hq (4c8t32g), and as far as I know github action provides resources for 2c4g, FYI

It may require a modification to the dockerfile, which I don't have time to delve into at the moment. So.. If anyone would like to continue this work, they can also seek my help 🙂

@yurishkuro
Copy link
Member Author

Solved in #36 or maybe even earlier

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants