Skip to content

build container for linux/arm64 (apple silicon compatible)

Jose Gabriel Vasconcelos Afonso requested to merge multi-arch-arm64 into master

Dieses Problem ist mir aufgefallen, da ich ein M1 MacBook nutze...

Aktuell werden Container Images für linux/amd64 (x86) & linux/arm (arm/v7) gebaut. ARM/v7 ist eine 32-Bit-Architektur (wird z.B. für den Raspberry Pi 3B verwendet). Für Apple Silicon Systeme muss jedoch ein ARM 64Bit verwendet werden. (siehe https://github.com/containerd/containerd/blob/v1.4.3/platforms/platforms.go#L63)

Interessanterweise hatte ich das Problem, dass Docker bei der Wahl des Container-Images trotz der falschen Architektur den linux/arm Container gewählt hat (wahrscheinlich weil es keinen linux/arm64 gab). Dieser kann jedoch nicht von dem Apple M1 MacBook ausgeführt werden.

Aktuelle Zwischenlösung ist es mit z.B. docker run -it --platform linux/amd64 registry.code.fbi.h-da.de/fbi1397/se_mech_ws_23_24 das Containerimage für x86 zu wählen und es über den installierten Emulator laufen zu lassen.

Um auch die Apple Silicon Systeme nativ zu unterstützen, ist die Lösung also zusätzlich einen linux/arm64 Containerimage zu bauen.


Ich habe die notwendigen Anpassungen dafür vorgenommen.

Edited by Jose Gabriel Vasconcelos Afonso

Merge request reports