
【Docker基礎】Docker Composeの使い方
これまでは単一コンテナを中心に学んできましたが、複数のコンテナを連携させたシステム(WordPress + MySQL、あるいはフロントエンド + バックエンドなど)を扱う際に 「Docker Compose」 は非常に便利です。
Docker Compose を使うと、コンテナの定義を記述した YAML ファイル(docker-compose.yml) に従って、一度にコンテナを起動・停止・破棄できます。ここでは、その基本的な使い方をざっくりと説明し、従来の docker-compose
コマンドから docker compose
への移行についても触れていきます。

1.Docker Compose はインストール不要
以前は 「docker-compose」 という別コマンドをインストールする必要がありましたが、Docker Compose V2 の登場により、docker
コマンドに統合 されました。
- デスクトップ版 Docker を使っているなら、すでに Compose が含まれているので追加手順は不要
- CLI から使う場合 は、かつての
docker-compose
からdocker compose
へ移行中
・コマンドが 「docker-compose」 → 「docker compose」 とハイフンがスペースに変わっただけで実行内容は大きく変わっていません
2.Docker Compose は「docker-compose.yml」で設定を書く
- Dockerfile のときと同様、ホスト側のフォルダ に YAML ファイルを作成
- ファイル名 はデフォルトで
docker-compose.yml
・別名にしたい場合は-f
オプションで指定可能 - ひとつのフォルダにひとつの
docker-compose.yml
が基本ルール
・そのフォルダには、コンテナで使うファイル(HTML や画像など)も置いておくことが多い
3.「サービス」と「コンテナ」
Docker Compose の世界では、「サービス (service)」 という言葉が登場します。
- ドキュメント内では「コンテナ」と「サービス」が混在しますが、サービス = コンテナの塊 と考えて大きな問題はありません
- 例えば
wordpress
サービスやdb
サービスなどと書かれていますが、最終的にはコンテナとして立ち上がる ものです
4.具体的な操作
docker compose up
・YAML ファイル(docker-compose.yml)を読み込み、記述されたサービス(コンテナ群)を一括で起動
・ネットワークやボリュームの生成も自動的に行う。docker compose down
・起動中のコンテナとネットワークを停止・削除
・ボリュームやイメージは削除しない(オプションで指定可能)docker compose stop
・コンテナを停止するが削除はしない
5.なぜ Compose が便利?
- コマンドの打ち間違いを減らす
WordPress + MySQL のように多数のdocker run
を叩く必要がない。 - 一元管理
YAML ファイルをバージョン管理すれば、チームメンバーも同じ設定を再現可能 - 大規模システムへの入り口
将来的に Kubernetes など大規模オーケストレーションに移行しやすい。
まとめ
- Docker Compose は複数コンテナを一度に扱うためのツールで、YAML ファイル(docker-compose.yml)に設定を記述し、コマンド一発で起動・停止ができる
- インストール不要:Docker Desktop や Docker Compose V2 のおかげで、
docker compose
コマンドが標準化 - 「サービス」=「コンテナ」 と考えてほぼ問題なし。
up
/down
/stop
で複数コンテナをまとめて操作可能
次のコンテンツでは、Docker Compose ファイルの書き方についてさらに解説し、実際にコンテナを起動してみる流れを学んでいきます。