Bei der Arbeit mit Docker kann beim Starten eines Containers die folgende Fehlermeldung erscheinen:
standard_init_linux.go:228: exec user process caused: exec format error
oder in einer ähnlichen Form:
exec user process caused: exec format error
Was bedeutet der Fehler? #
Diese Meldung tritt auf, wenn das ausgeführte Docker-Image nicht zur Architektur des Systems passt.
Ein typisches Beispiel:
- Das Hostsystem läuft auf ARM (z. B. Raspberry Pi).
- Das Image wurde jedoch für amd64/x86_64 gebaut.
Docker versucht dann, ein Binary auszuführen, das nicht auf der vorhandenen CPU-Architektur lauffähig ist – und bricht mit dem exec format error
ab.
Typische Ursachen #
- Falsches Image aus Docker Hub heruntergeladen (z. B.
nginx:latest
für amd64 stattarm64
). - Eigene Images ohne Angabe einer Zielarchitektur gebaut.
- Multi-Arch-Unterstützung fehlt oder ist im Dockerfile nicht definiert.
Lösung #
1. Architektur prüfen #
Auf dem Hostsystem herausfinden, welche Architektur läuft:
uname -m
x86_64
→ klassisches 64-Bit Intel/AMDaarch64
oderarmv7l
→ ARM (z. B. Raspberry Pi)
2. Richtiges Image ziehen #
Viele Images auf Docker Hub sind Multi-Arch, aber manche nicht.
Beispiel:
docker pull nginx:alpine
liefert für ARM und amd64 automatisch die passende Variante, sofern vorhanden.
Falls nicht, explizit nach einer ARM-Version suchen, z. B.:
docker pull arm64v8/nginx
3. Eigenes Multi-Arch Image bauen #
Wenn du ein eigenes Image nutzen möchtest, kannst du mit buildx
mehrere Architekturen gleichzeitig unterstützen:
docker buildx build --platform linux/amd64,linux/arm64 -t meinimage:latest .
4. Emulator (nur im Notfall) #
Als Workaround kann qemu-user-static
genutzt werden, um Images anderer Architekturen zu emulieren. Das ist aber langsamer und meist nur für Tests sinnvoll.
Fazit #
Der Docker-Fehler
exec user process caused: exec format error
tritt auf, wenn ein Image für eine falsche Architektur gestartet wird. Die Lösung ist entweder, ein passendes Multi-Arch-Image aus Docker Hub zu ziehen oder eigene Images korrekt für die Zielplattform zu bauen.