0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dockerで`exec format error`が発生する原因と対策

Posted at

エラー概要

AWS EKS上で作成したDockerイメージを起動しようとした際に、以下のエラーが発生。

exec /usr/local/bin/docker-entrypoint.sh: exec format error

環境

CPUアーキテクチャ
ビルドマシン: arm64(Apple Silicon / M1, M2 Mac)
実行マシン: amd64(EC2)

原因

このエラーの主な原因は、Dockerイメージのアーキテクチャと実行環境のアーキテクチャが一致していないこと。

今回のケースでは、Apple Silicon Mac(ARM64)でDockerイメージをビルドし、異なるアーキテクチャ(x86_64)上で実行しようとしたことが原因。

# ビルド時のコマンド
docker build --platform linux/arm64 -t xxxx .

解決策

--platform の指定を適切にする

現在のマシンのアーキテクチャを確認し、それに合わせたプラットフォームを指定する。

docker build --platform linux/amd64 -t xxxx .
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?