-
Notifications
You must be signed in to change notification settings - Fork 227
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
make docker image(s) multi-platform and include linux/arm64 #4038
Comments
nomenclatureA "multi-platform image" is actually a separate Docker image for each platform (each with its own SHA identifier and manifest), and a "manifest list" that is metadata about the included images. This manifest list is the thing that is tagged for reference. For example, look at the current
building a multi-platform image locally(Here are some notes on creating a multi-platform image for apm-agent-nodejs locally on macOS. This is for educational purposes. The real answer will be to make the GH workflow changes to tl;dr:
The Docker docs article https://docs.docker.com/build/building/multi-platform/ shows how to use First you need to create a builder. I named it "builder":
Then use it with the
Note that to use the multi-platform image, it needs to be published to a registry. You cannot just have it in your local Docker (e.g. the list of using in GH ActionsMy understanding, from https://docs.docker.com/build/ci/github-actions/multi-platform/, is that we will just need:
|
note to self: enode10 |
@trentm any tentative date? when this will go live? |
@heisGarvit Sorry for the delay. I hope to have a fix for this and then a release later this week. |
Motivating discussion issue: https://discuss.elastic.co/t/arm-64-apm-attacher-images/359952
To use the APM attacher for Kubernetes (https://www.elastic.co/guide/en/apm/attacher/current/apm-attacher.html) on a k8s deployment on linux/arm64 -- which I'm guessing is an option on the managed k8s services (who wouldn't want to use Graviton, for example?) -- requires that the involved images support the
linux/arm64
platform. As well thelinux/amd64
platform support should remain.This means multi-platform Docker images: https://docs.docker.com/build/building/multi-platform/
Which is straightforward in GH actions if already using the
docker/build-push-action
action, see https://docs.docker.com/build/ci/github-actions/multi-platform/At the least we need this for the published
docker.elastic.co/observability/apm-agent-nodejs
image.Likely we'll need it for the attacher image,
docker.elastic.co/observability/apm-attacher
, as well. I'm still following up on that.The text was updated successfully, but these errors were encountered: