LoginSignup
1
0

More than 1 year has passed since last update.

[GKE] [Google Cloud] GKE の pod で exec format error 発生時は、M1 Mac のチップが原因の場合がある

Posted at

対象読者

・Google Cloud 初心者
・M1 Mac 使用者

エラー内容

$ kubectl logs pod_name
exec /usr/local/bin/bundle: exec format error

適切な docker image を指定しているし、そのdocker imageをPULLできているのに、
上記のエラーが出ていました。

調べてみると、OS の問題かもしれないという情報がありました。
その視点で調べていくと、以下の記事を見つけました。

私の環境では、本来はGitHub Actionsdockerをビルドしていますが、
今回は手元のターミナルからビルドやデプロイを試していました。
M1チップでビルドされたdocker imageexec format error が出てしまうようです。

解決方法

platformオプションは、ビルドのターゲットプラットフォームを指定します。
この場合、ターゲットプラットフォームは「amd64」となっており、x86-64アーキテクチャ向けのイメージがビルドされることになります。

$ docker build --platform amd64 -t tag_name ./docker_path

再度PUSHします。

docker push docker_image_name

これでpod が正常に起動するようになりました。

終わりに

Google Cloud の初心者である私は、クラウド側の問題なのか、Docker の問題なのか切り分けるのに時間がかかります。
そこに、今回のようなM1 チップの問題が絡んでくるとさらに時間がかかってしまいました。
同じエラーが出ている方の助けになると嬉しいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0