2
Help us understand the problem. What are the problem?

posted at

updated at

M1 mac docker error: exec user process caused "exec format error"

M1 mac でdockerのイメージをビルドし、GKEで利用しようとした所、エラーが発生したので解決方法を書いておく。

エラー内容

GCP側で発生したエラーは以下である。

standard_init_linux.go:211: exec user process caused "exec format error"

原因

このエラーは、dockerイメージをビルドした M1 mac とコンテナを実行するマシンのCPUアーキテクチャが異なるために発生する。

解決策

amd64のCPUで実行できるようにdocker buildにオプションを指定する。
Dockerfileが存在するディレクトリで以下のコマンドを実行する。

docker build --platform amd64 -t NAME(ここには好きな名前をつける) .

ビルドされたイメージをGKEで利用した所成功した。

参考記事

ECSのタスク起動時に「standard_init_linux.go」関連のエラーが出た場合の対処方法
docker, apple m1, nginx and standard_init_linux.go:211: exec user process caused "exec format error"

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?