M1 MacでビルドしたイメージをFARGATEで使おうとした時の'exec user process caused: exec format error' の対処法


exec user process caused: exec format error

M1 MacでビルドしてECRにプッシュしたnodejsのイメージをタスク定義に使用してFARGATEでコンテナを立ち上げようとしたところ、このエラーに遭遇。

解決法

ローカルでイメージをビルドする時のコマンドを以下に変更することで問題なくFARGATEでコンテナを立ち上げることができた。

docker buildx build --platform=linux/amd64 -t <image-name> .

参考

FARGATEがおそらくIntel x86-64 アーキテクチャの上で動いているのに対して、M1MacがARMアーキテクチャの上で動いているのが問題。