Docker: Container exited with code 1
Dockerコンテナが異常終了した際の原因調査と解決策
概要
Dockerコンテナが起動後すぐに終了する、または実行中に異常終了するエラーです。
エラーメッセージ
``` docker: Error response from daemon: Container exited with code 1 ```
原因
- アプリケーションエラー: プログラムのバグやクラッシュ
- 設定ファイルの不備: 環境変数や設定の欠落
- 依存サービスへの接続失敗: DB等に接続できない
- 権限の問題: ファイルアクセス権限不足
解決策
1. コンテナのログを確認
```bash
直近のログ
docker logs <container_id>
リアルタイムでログを追跡
docker logs -f <container_id>
停止したコンテナのログ
docker logs $(docker ps -aq -l) ```
2. exit codeを確認
```bash docker inspect <container_id> –format=’{{.State.ExitCode}}' ```
| Exit Code | 意味 |
|---|---|
| 0 | 正常終了 |
| 1 | 一般的なエラー |
| 126 | 権限不足 |
| 127 | コマンドが見つからない |
| 137 | SIGKILL (OOM等) |
| 139 | SIGSEGV |
| 143 | SIGTERM |
3. インタラクティブにデバッグ
```bash
エントリポイントを上書きして起動
docker run -it –entrypoint /bin/sh
停止したコンテナの状態を確認
docker commit <container_id> debug-image docker run -it debug-image /bin/sh ```
4. 環境変数を確認
```bash docker run –env-file .env
必要な環境変数が設定されているか
docker inspect <container_id> –format=’{{.Config.Env}}' ```
よくある間違い
- ログを確認せずに再起動を繰り返す
- 本番環境と開発環境の差異を見落とす
- コンテナ内のファイルパスの違い
関連エラー
関連エラー
Docker の他のエラー
この記事は役に立ちましたか?