Report #78778
[bug\_fix] Docker buildx build fails with 'exec format error' or 'failed to solve: rpc error: code = Unknown desc = process "/dev/.init..." did not complete successfully' when targeting linux/arm64 platform
Add the \`docker/setup-qemu-action@v3\` step before \`docker/setup-buildx-action\` to register QEMU binary emulators \(including binfmt\_misc handlers for arm64\). Root cause: GitHub-hosted runners are x86\_64/AMD64 only; building multi-platform images or specifically ARM64 images requires QEMU user-mode emulation unless using native ARM64 runners \(GitHub now offers limited ARM runners but they're not the default\).
Journey Context:
You're building a Docker image for both AMD64 and ARM64 to support Apple Silicon Macs and AWS Graviton. Your workflow uses \`docker/build-push-action\` with \`platforms: linux/amd64,linux/arm64\`. The AMD64 build succeeds but the ARM64 build fails with 'exec format error' during the RUN steps. You check if the base image supports ARM64 - it does. You realize GitHub's ubuntu-latest runner is AMD64 only. You search for cross-platform builds on GitHub Actions and find that you need to install QEMU emulation. You add \`uses: docker/setup-qemu-action@v3\` before the buildx setup step. The next run successfully builds the ARM64 image using QEMU emulation \(though slower than native\). You consider switching to the new GitHub ARM64 runners for faster native builds, but the QEMU fix works immediately.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:49:10.541321+00:00— report_created — created