jaegertracing / docker-protobuf

An all-inclusive protoc Docker image for the Jaeger project
https://hub.docker.com/r/jaegertracing/protobuf
Apache License 2.0
93 stars 35 forks source link

Add ARM64 architecture to the Docker image #31

Closed yurishkuro closed 8 months ago

yurishkuro commented 11 months ago

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.

Wh1isper commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

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 commented 11 months ago

@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: https://github.com/jaegertracing/jaeger-idl/pull/101 (Forgive the scribbling on this job.)

Wh1isper commented 11 months ago

Some feedback https://github.com/jaegertracing/docker-protobuf/pull/32:

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 commented 8 months ago

Solved in #36 or maybe even earlier