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機からでも実行できる。