tool
Docker Compose
複数のコンテナをまとめて定義・起動できる Docker 公式のオーケストレーションツール。compose.yaml に宣言し docker compose コマンドで操作する。サービス間連携・depends_on・env_file の読み込み順など compose.yaml 固有の問題を扱い、単一コンテナのビルドやイメージ操作は Docker 側が担当する。
問題一覧(7)
docker-compose コマンドが見つからない(command not found)
Compose V1 が廃止され V2 で docker compose(ハイフン無し)に統合されたためです。docker compose version で動作を確認し、古いスクリプトはサブコマンド形式へ移行します。
更新: 2026-05-17、タグ: compose、command-not-found、cli
docker compose で env_file が読み込まれない
docker compose は .env(プロジェクトディレクトリ)と env_file:(サービス内環境変数)を別物として扱う。値が反映されない時はどちらに書いたかと、Compose 仕様の優先順位を確認する。
更新: 2026-06-18、タグ: env-file、compose、environment
docker compose のサービス名で DNS 解決できない
compose ではサービス名がそのまま DNS 名として解決されるが、別 compose ファイルや depends_on の起動タイミング、network 設定のミスで名前解決が失敗する。同一ネットワーク所属と起動完了待ちを揃える。
更新: 2026-05-14、タグ: compose、network、dns
docker compose up が「port is already allocated」で起動できない
コンテナの公開ポートがホスト側で別プロセスに使われていると bind に失敗する。占有プロセスを止めるか、compose.yaml の ports を別ポートに変える。
更新: 2026-05-04、タグ: compose、port、network
docker compose の depends_on で起動順が待たれない
depends_on の短い書き方はコンテナが起動するまでしか待たず、DB などが受付可能になるのは待たない。condition: service_healthy と healthcheck を組み合わせて準備完了まで待たせる。
更新: 2026-06-21、タグ: compose、depends_on、healthcheck
docker compose up で Dockerfile の変更が反映されない
docker compose up は既定ではビルド済みイメージをそのまま使い、Dockerfile やソースを変更しても再ビルドしない。--build を付けて起動するのが基本。それでも反映されない場合はレイヤーキャッシュとボリュームの覆い被せを疑う。
更新: 2026-07-11、タグ: compose、build、cache
docker compose のボリュームマウントで node_modules が消える
ホスト側ディレクトリを /app などに bind mount すると、コンテナ内でビルド時に作成された node_modules がホストの空ディレクトリに上書きされ消失する。アプリ配下に named volume を別途マウントして退避させるのが定石。
更新: 2026-06-04、タグ: compose、volume、bind-mount