ARM VPSでDockerイメージが動かないときの確認手順
ARMアーキテクチャのVPSでexec format errorが出る場合、イメージがamd64専用である可能性が高い。マルチアーキ対応の確認とbuildxによる解決手順を解説する。
エラーの原因を特定する
docker inspectでイメージのArchitectureフィールドを確認する。amd64と表示されればARM機では直接実行できない。Docker Hubのタグページでlinux/arm64が列挙されているかも合わせて見る。
マルチアーキイメージへの切り替え
公式イメージの多くはmanifest listでarm64を含む。タグを明示せずlatestを引き直すか、arm64v8/プレフィックス付きの公式ミラーを使うと解決することが多い。
自前ビルドで対応する
対応イメージがない場合はdocker buildx build --platform linux/arm64で自前ビルドする。QEMUエミュレーションはbinfmt設定後にamd64機からでも実行できる。