
docker compose は、docker-compose.yml に定義された複数のDockerコンテナを まとめて管理するためのコマンドである。このコマンドを用いることで、コンテナの起動・停止・再作成・削除などを一括して実行でき、複数コンテナからなるアプリケーション環境を簡単かつ一貫性をもって運用できる。
- 初回起動 : config → build → up → ps → logs
- 開発中の更新 : build → up --force-recreate
- デバッグ : logs → exec → restart
- クリーンアップ : down -v --rmi all

docker compose コマンド
docker compose up コマンド
【処理】 サービスを作成・起動する
【書式】 docker compose up [オプション] [サービス名]
| オプション | 内容 |
|---|---|
| up -d / --detach | バックグラウンドで実行 |
| up --build | 起動前に強制的にビルド |
| up --force-recreate | コンテナを強制的に再作成 |
| up --no-recreate | 既存コンテナを再利用 |
| up --scale 【例】--scale web=3 | サービスのインスタンス数を指定 |
| up -V / --renew-anon-volumes | 匿名ボリュームを再作成 |
docker compose down コマンド
【処理】 サービスを停止・削除する
【書式】 docker compose down [オプション]
| オプション | 内容 |
|---|---|
| down -v / --volumes | ボリュームも削除 |
| down --rmi 【例】--rmi all 【例】--rmi local | イメージも削除 |
| down --remove-orphans | ファイルに定義されていないコンテナを削除 |
docker compose ps コマンド
【処理】 サービスの状態を確認する
【書式】 docker compose ps [オプション] [サービス名]
| オプション | 内容 |
|---|---|
| ps -a, --all | 停止中のコンテナも表示 |
| ps -q, --quiet | IDのみ表示 |
| ps --services | サービス名のみ表示 |
| ps --format 【例】--format json | 出力フォーマット指定 |
docker compose logs コマンド
【処理】 ログを表示する
【書式】 docker compose logs [オプション] [サービス名]
| オプション | 内容 |
|---|---|
| logs -f / --follow | リアルタイム表示 |
| logs --tail 【例】--tail 100 | 最後のN行を表示 |
| logs -t / --timestamps | タイムスタンプ表示 |
| logs --since 【例】--since 1h | 指定時刻以降のログ |
| logs --until 【例】--until 5m | 指定時刻までのログ |
docker compose exec コマンド
【処理】 実行中のコンテナでコマンドを実行する
【書式】 docker compose exec [オプション] サービス名 コマンド
| オプション | 内容 |
|---|---|
| exec -u root サービス名 bash | rootユーザーでシェル起動 |
| exec サービス名 mysql -u root -p | MySQL クライアント起動 |
| exec サービス名 psql -U postgres | PostgreSQL クライアント起動 |
| exec サービス名 redis-cli | Redis-cli 起動 |
| exec サービス名 cat FILE | ファイル確認 |
| exec サービス名 tail -f LOG | ログ確認 |
| exec -d / --detach 【例】-d サービス名 touch /tmp/file | バックグラウンドで実行 |
| exec -u / --user 【例】-u root サービス名 bash | 実行ユーザー指定 |
| exec -w / --workdir 【例】-w /app サービス名 ls | 作業ディレクトリ指定 |
| exec -e / --env 【例】-e DEBUG=trueサービス名 npm test | 環境変数設定 |
docker compose start コマンド
【処理】 停止中のサービスを起動する
【書式】 docker compose start [サービス名]
docker compose stop コマンド
【処理】 サービスを停止する
【書式】 docker compose stop [オプション] [サービス名]
| オプション | 内容 |
|---|---|
| stop -t / --timeout 【例】-t 30 | 停止までの待機時間(秒) |
docker compose restart コマンド
【処理】 サービスを再起動する
【書式】 docker compose restart [オプション] [サービス名]
| オプション | 内容 |
|---|---|
| restart -t / --timeout 【例】-t 30 | 停止までの待機時間(秒) |
docker compose build コマンド
【処理】 イメージをビルドする
【書式】 docker compose build [オプション] [サービス名]
| オプション | 内容 |
|---|---|
| build --no-cache | キャッシュを使わずにビルド |
| build --pull | 常に最新のベースイメージをプル |
| build --build-arg 【例】--build-arg NODE_ENV=production | ビルド引数を指定 |
| build --parallel | 並列ビルド |
docker compose pull コマンド
【処理】 イメージをプルする
【書式】 docker compose pull [オプション] [サービス名]
| オプション | 内容 |
|---|---|
| pull --ignore-pull-failures | プル失敗を無視 |
| pull -q / --quiet | 進捗を表示しない |
docker compose configコマンド
【処理】 設定ファイルを検証・表示する
【書式】 docker compose config [オプション]
| オプション | 内容 |
|---|---|
| config --services | サービス名のみ表示 |
| config --volumes | ボリューム名のみ表示 |
| config -q / --quiet | 検証のみ(出力なし) |
docker compose rm コマンド
【処理】 停止中のコンテナを削除する
【書式】 docker compose rm [オプション] [サービス名]
| オプション | 内容 |
|---|---|
| rm -f / --force | 確認なしで削除 |
| rm -s / --stop | 実行中でも停止して削除 |
| rm -v / --volumes | 匿名ボリュームも削除 |