question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

ARM64 support in docker images

See original GitHub issue

Description

ARM64 support in docker images

Use case / motivation

In the recent years ARM based cpu popularity hugely increased. The arm based cpus are offering better price to performance ratio and laptops outstanding performance. It’s getting popular to run ARM nodes in your Kubernetes clusterss. If you want to run airflow on arm node in kubernetes the docker image wont start it wailt fails with standard_init_linux.go:219: exec user process caused: exec format error.

ARM based cpu in the database world like AWS Graviton or in the consumer world like Apple M1.

Related Issues

In #14796 @potiuk confirmed there is no office support for ARM64 support in docker images

Update: ARM is supported for development now. The support for released imges is coming.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:47
  • Comments:35 (24 by maintainers)

github_iconTop GitHub Comments

23reactions
potiukcommented, May 1, 2022

The 2.3.0 now officially supports ARM64 and AMD64:

Screenshot 2022-05-01 at 13 41 28

Closing this one 😃.

10reactions
potiukcommented, Apr 15, 2022

For example this one:

https://github.com/apache/airflow/pkgs/container/airflow%2Fmain%2Fprod%2Fpython3.7/19115034?tag=latest

image

Generally all the “dev” images of our are following the scheme:

  • ghcr.io/apache/airflow/main/prod/pythonX.Y
  • ghcr.io/apache/airflow/main/ci/pythonX.Y

Following the naming convention we have for those: https://github.com/apache/airflow/blob/main/IMAGES.rst#naming-conventions

You can always retag the latest image to a regular airflow one if you want to use some more familiar names:

docker pull ghcr.io/apache/airflow/main/prod/python3.7
docker tag ghcr.io/apache/airflow/main/prod/python3.7 apache/airflow:latest

Note that X.Y >= 3.7 because we dropped Python 3.6 in main and it is not refreshed any more.

We only build and refresh the “latest” image for multi-platform. They are automatically refreshing after successful main build - so the images often reflect the latest “main” (unless we are in a period of fixing some main failures because of dependencies update - then they might be few commits behind).

Those are the images that breeze uses, thus the naming convention is different than the “release” images which are published on GitHub. We do not publish multi-platform images there yet.

We have also “per-commit” images that are used CI - but for now those are single-platform (amd64) only. The naming convention there is:

  • ghcr.io/apache/airflow/main/ci/pythonX.Y:<COMMIT_SHA>
  • ghcr.io/apache/airflow/main/prod/pythonX.Y:<COMIMT_SHA>

I proposed to start releasing the experimental multi-platform images to DockerHub as well (we could do it for one of the betas/rcs of 2.3.0) - the tooling we have is ready for it - but I have not received any answers yet 😃 - feel free to comment if you think it is a good idea: https://lists.apache.org/thread/pqhks390dkso9x668gbnvjq6k6wv8h9h

Read more comments on GitHub >

github_iconTop Results From Across the Web

Building Multi-Arch Images for Arm and x86 with Docker Desktop
On Wednesday April 24th, Docker announced a partnership with Arm to help accelerate adoption of containers into the massive Arm ecosystem.
Read more >
Building Multi-Architecture Docker Images on ARM 64-bit ...
In this post, we'll demonstrate how to build and publish multi-architecture Docker images on an ARM Linux host for both x86–64 (AMD64) and...
Read more >
Multi-architecture images - Getting started with Docker
Multi-architecture containers support execution as an Arm image or as an x86 image. ... docker buildx build --platform linux/arm64 -t alpine-arm64 --load ....
Read more >
Docker image for ARM and other architectures - Padok
Learn how to build and distribute multi-architecture docker image, you'll have no excuse to miss Apple M1 laptops support in your project!
Read more >
Building Multi-CPU Architecture Docker Images for ARM and ...
To support both x86 64 bit CPUs & ARM 64 CPUs (e.g. Apple M1), you will want to specify --platform=linux/arm64,linux/amd64 . When the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found