セットアップ
docker composeでコンテナが起動しない:ログの読み方
2026年8月20日
この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン
コンテナを起動したのに、すぐ止まってしまう。エラーも見えないんだけど…

プロクラ
すぐ止まるということは、起動はしたけれど中のプログラムが終了したということだよ。理由は必ずログに残っている。まず、そこを読むところから始めよう。
1台のVPSに複数のサービスを同居させる
ブログ
80/443
データベース
内部のみ
検証環境
内部のみ
それぞれ独立した箱。片方を壊しても、もう片方には影響しない
1台のVPS(メモリ・CPUは共有)
分けられるのは環境だけ。メモリとCPUは同じ1台ぶんを分け合う
状態とログを見る
- docker compose ps で、状態と終了コードを見る
- docker compose logs でログを見る(止まったコンテナの分も残っている)
- サービス名を指定すれば、そのコンテナのログだけに絞れる
- 起動直後の数行に、原因が書かれていることが多い

プロクラ
終了コードも手掛かりになるよ。0なら正常終了、それ以外なら異常。特定の値には決まった意味があるものもあるので、ログと合わせて見よう。
型1:設定ファイルの誤り
- 書式の誤りがあれば、起動する前にエラーが出る
- インデントのずれが原因のことが多い(空白とタブの混在に注意)
- 設定の内容を確認するコマンドで、解釈された結果を表示できる
- 変数が展開された後の姿を見ると、思い違いに気づける

プロクラ
3つめが便利だよ。自分が書いたつもりの設定と、実際に解釈された設定を比べられる。環境変数が空のまま渡っていた、というのはここで見つかる。
型2:ポートの衝突

プロクラ
「address already in use」が出たら、そのポートを既に何かが使っている。ホスト側で動いているWebサーバーと、コンテナが同じ番号を取り合う、というのが定番だね。
- ss -tulpn で、そのポートを誰が使っているか確認する
- 以前のコンテナが残っている場合もある
- 公開するポート番号を変えるか、既存のものを止める
- 前段で振り分ける構成にすれば、衝突自体を避けられる
型3:権限とファイル
- ホストのディレクトリを共有している場合、その所有者が合っていない
- コンテナの中のユーザーと、ホスト側の所有者の対応を確認する
- 共有元のディレクトリが存在しないと、勝手に作られて空になることがある
- 設定ファイルを1ファイルだけ共有する場合、パスの書き間違いに注意
型4:依存するものが準備できていない

プロクラ
アプリがデータベースより先に起動して、接続に失敗して終了する。これは非常に多い型だよ。起動の順序を指定しても、相手が「受け付けられる状態」になったかまでは保証されない。
- 起動順の指定は、あくまで開始の順序でしかない
- 相手の準備完了を判定する仕組みを併用する
- アプリ側で、接続に失敗したら少し待って再試行する作りにする
- 後者のほうが確実で、本番でも扱いやすい

レン
すぐ止まる=中身が終了した、なんだね。まずログを読む。
あわせて読みたい
- セットアップLinode (Akamai Connected Cloud)コンテナからホスト側のサービスに繋がらないコンテナの中では127.0.0.1がコンテナ自身を指します。ホストのデータベースへ繋ぐ方法と、コンテナ同士の通信との違いを解説します。
- セットアップLinode (Akamai Connected Cloud)最初に監視すべき4つ:個人運用の最小構成何もかも監視しようとすると続きません。まず入れるべき4項目と、その理由、そして増やすかどうかの判断基準を解説します。
- セットアップLinode (Akamai Connected Cloud)通知が多すぎて読まなくなる警告に慣れてしまうと、監視は機能しなくなります。通知を減らす具体的な方法と、本当に必要な通知だけを残す設計の考え方を解説します。
- セットアップLinode (Akamai Connected Cloud)バックアップ先の容量が足りなくなったら世代を増やすほど保管先は膨らみます。何世代残すかの決め方、差分を取る考え方、そして古いものを消す前に確認することを解説します。
サーバーを触る前に押さえておきたいこと
姉妹サイトの、この記事と相性のいいページです。
- Linuxコマンド入門
ls / cd / grep などを疑似ターミナルで試しながら学べる — prodou.net
- シェルスクリプト入門
サーバー作業の自動化スクリプトを基礎から — prodou.net
- Password Generator
サーバー用に強いパスワードをその場で生成 — toolkitbox.net
- Cron Generator
定期実行のcron式を組み立てる — toolkitbox.net