Docker: OCI runtime create failed
Dockerコンテナの起動時にOCIランタイムエラーが発生した場合
概要
Dockerコンテナの作成・起動時にOCI(Open Container Initiative)ランタイムがコンテナプロセスを開始できない場合に発生するエラーです。バイナリのアーキテクチャ不一致、権限不足、cgroup設定の問題など多岐にわたる原因があります。
エラーメッセージ
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/app": permission denied: unknown.
docker: Error response from daemon: OCI runtime create failed: runc create failed: unable to start container process: exec: "node": executable file not found in $PATH: unknown.
アーキテクチャ不一致の場合:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
exec /usr/local/bin/docker-entrypoint.sh: exec format error
原因
- アーキテクチャの不一致: ARM(Apple Silicon等)でAMD64用イメージを実行、またはその逆
- 実行ファイルの権限不足: バイナリやスクリプトに実行権限がない
- 実行ファイルが見つからない: PATHの問題やイメージ内にバイナリが存在しない
- cgroup設定の問題: cgroup v1/v2の不整合やリソース制限
解決策
1. プラットフォームを明示的に指定
| |
| |
2. 実行権限を付与
| |
3. バイナリのPATHを確認
| |
4. cgroup v2対応
| |
5. –privilegedで権限昇格(デバッグ用)
| |
関連エラー
Docker の他のエラー
この記事は役に立ちましたか?