このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Docker超入門:Docker Composeコマンドを使ってみよう!実際にコンテナを操作して学ぶ

Docker Composeコマンドを使ってみよう!実際にコンテナを操作して学ぶ
Docker Composeを使えば、複数のコンテナを“まとめて操作”できるのが大きな魅力です。
この記事では、実際にComposeコマンドを動かしながら、コンテナの起動・停止・削除といった基本操作を身につけていきましょう!

作業前のクリーンアップ
まずは環境をスッキリさせておきましょう。
古いコンテナや使わないイメージが残っていると、挙動が分かりづらくなります。
💡実行コマンド
docker system prune -aこのコマンドは、停止中のコンテナや不要なネットワーク・イメージ・キャッシュを一括削除してくれます。
実行すると次のような確認メッセージが出ます。
PS C:\Users\joeac> docker system prune -a
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all images without at least one container associated to them
- all build cache
Are you sure you want to continue? [y/N] y「y」を入力すれば削除スタートです。
ボリュームが残っている場合は、必要に応じて削除しておきましょう。
作業ディレクトリに移動しよう
次に、Docker Composeファイル(compose.yaml)を保存しているフォルダに移動します。
cd desktop/docker
cd webdb実行結果
PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker> cd webdb
PS C:\Users\joeac\Desktop\docker\webdb>これで作業ディレクトリが「webdb」になりました。
ここに、以前作成した compose.yaml があるはずです。
Docker Composeコマンドで操作してみる
Docker Composeは、複数コンテナをまとめて起動・停止・削除できるツールです。
実際にコマンドを動かしながら見ていきましょう。
➀コンテナを起動する(up)
docker compose up -dこのコマンドで、compose.yaml に書かれたサービス(例:web・db)を一括起動します。-d はデタッチモード(バックグラウンド実行)のオプションです。
実行結果
PS C:\Users\joeac\Desktop\docker\webdb> docker compose up -d
(省略)
[+] Running 3/3
✔ Network webdb_default Created
✔ Container webdb-web-1 Started
✔ Container webdb-db-1 Started✨ これで2つのコンテナ(webとdb)が起動しました!
➁コンテナを停止する(stop)
docker compose stopすべてのコンテナを停止します。
特定のサービス名(例:nginx)を指定して停止することもできます。
| オプション | 説明 |
|---|---|
| なし | すべてのサービスを停止 |
| サービス名指定 | 特定のサービスのみ停止 |
実行結果
PS C:\Users\joeac\Desktop\docker\webdb> docker compose stop
time="2025-10-05T23:18:07+09:00" level=warning msg="C:\\Users\\joeac\\Desktop\\docker\\webdb\\compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Stopping 2/2
✔ Container webdb-web-1 Stopped 0.4s
✔ Container webdb-db-1 Stopped➂コンテナを再起動する(restart)
docker compose restartすべてのサービスを一度停止して再起動します。
設定を変更したときや動作が不安定なときに便利です。
実行結果
PS C:\Users\joeac\Desktop\docker\webdb> docker compose restart
time="2025-10-05T23:18:23+09:00" level=warning msg="C:\\Users\\joeac\\Desktop\\docker\\webdb\\compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Restarting 2/2
✔ Container webdb-db-1 Started 0.3s
✔ Container webdb-web-1 Started➃停止中のコンテナを再開する(start)
docker compose start一度停止させたコンテナを再び起動します。
コンテナを再作成するわけではなく、既存のものをそのまま再利用します。
実行結果
まず、docker compose stop コマンドで、すべてのコンテナを停止させておきます。
PS C:\Users\joeac\Desktop\docker\webdb> docker compose stop
(省略)
[+] Stopping 2/2
✔ Container webdb-web-1 Stopped 0.4s
✔ Container webdb-db-1 Stopped 0.0s
PS C:\Users\joeac\Desktop\docker\webdb> docker compose start
(省略)
[+] Running 2/2
✔ Container webdb-db-1 Started 0.5s
✔ Container webdb-web-1 Started ➄実行中のコンテナ一覧を確認する(ps)
docker compose ps現在のコンテナ状態を一覧で確認できます。
実行結果
PS C:\Users\joeac\Desktop\docker\webdb> docker compose ps
(省略)
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
webdb-web-1 nginx:latest "/docker-entrypoint.…" web 14 minutes ago Up About a minute 80/tcpComposeでは「コンテナ名=プロジェクト名+サービス名+番号」という形式になります。
➅ログを確認する(logs)
docker compose logs各サービスのログをまとめて確認できます。
サービス名を指定すれば、個別のログも表示できます。
| コマンド | 説明 |
|---|---|
| docker compose logs | すべてのサービスのログを表示 |
| docker compose logs web | webサービスだけのログを表示 |
実行結果
PS C:\Users\joeac\Desktop\docker\webdb> docker compose logs
(省略)
web-1 | 2025/10/05 14:16:32 [notice] 1#1: start worker processes
web-1 | 2025/10/05 14:16:32 [notice] 1#1: start worker process 29
web-1 | 2025/10/05 14:16:32 [notice] 1#1: start worker process 30
web-1 | 2025/10/05 14:16:32 [notice] 1#1: start worker process 31
(省略)⑦コンテナとネットワークを削除する(down)
docker compose down「up」で作成したコンテナ・ネットワークをまとめて削除します。
実行結果
PS C:\Users\joeac\Desktop\docker\webdb> docker compose down
(省略)
[+] Running 3/3
✔ Container webdb-web-1 Removed 0.6s
✔ Container webdb-db-1 Removed 0.2s
✔ Network webdb_default Removed これで作業完了!
Composeの世界は、ほんとにシンプルで効率的です✨
コマンドと主なオプションまとめ
| コマンド | 主なオプション | 説明 |
|---|---|---|
| docker compose up | -d | コンテナをバックグラウンドで起動 |
| docker compose stop | なし | コンテナを停止 |
| docker compose start | なし | 停止中のコンテナを再起動 |
| docker compose restart | なし | すべてのコンテナを再起動 |
| docker compose ps | -a | コンテナ一覧を表示(停止中含む) |
| docker compose logs | -f | ログをリアルタイムで追跡 |
| docker compose down | --volumes | コンテナ・ネットワーク・ボリューム削除 |
まとめ
Docker Composeを使うと、コンテナの操作が一気にラクになります。
💡 ポイントまとめ
- up:一括起動
- stop/start/restart:運用操作
- ps/logs:状態とログの確認
- down:まとめて削除
単一コンテナの操作は「docker container」でもできますが、
複数コンテナを扱う開発では Composeのほうが圧倒的に便利!
次は、このCompose環境を活かして「永続化ボリューム」や「ネットワーク連携」に挑戦してみましょう! 🚀
