こんばんは!ヒカリです。
Webエンジニアを目指してプログラミングを勉強している初心者の方向けに情報を発信しています。
今流行の仮想通貨を自動売買してみました!
リモートワークでおすすめのグッズ紹介してみました!
ローカルでDockerイメージを作成してArtifact Registryにプッシュ!(ローカルで動作確認済み)
そしてGKEから起動してみるとなぜか以下のようなエラーが発生してコンテナが立ち上がらない…
standard_init_linux.go:288: exec user process caused "exec format error"
GKEの設定の問題かと思ったのですが、調査してみるとイメージが悪かったみたいです。
そこで今回はこちらについて解説していきます!
環境
- M1 MacBook Air
解決方法:ビルドコマンドにパラメータを追加する
$ docker build ./
こんな感じでビルドしていたのを
$ docker build --platform amd64 ./
こんな感じにしてあげるとうまくいきました。
原因:M1チップが原因でした
どうやらビルドするマシンと実行するマシンのCPUアーキテクチャが異なると起動に失敗するみたいです。
最初からCloudBuildやGitHub Actionsなんかでビルドしたら大丈夫だったってことですよね。
でも知れてよかった。
あとがき
M1めちゃくちゃ推してますが、こういうことがたまにあるのが怖いですね。
こういう原因を特定できる人すごい。
参考
https://qiita.com/keita_ogawa/items/e115c46f1c8caf6fd34d