このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker Composeコマンドで操作してみる

 Docker Composeは、複数のDockerコンテナを管理するためのツールであり、Docker Composeコマンドを使用してこれらのコンテナを操作します。

ここでは、Docker Composeコマンドを使って、コンテナを操作していきます。

 「Docker Composeの特徴」で作成した「compose.yaml」を使用します。こちらの内容をまだ、実行していない場合は、まずは、「Docker Composeの特徴」を実行した上で、こちらのコンテンツの内容を試していってください。

Docker Composeの特徴

このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。 Docker Composeの特徴 Dockerオブジェクトの削除 まず、不要なコンテナとイメージな…

・ディレクトリの移動

作業ディレクトリに移動します。

・「cd desktop/docker」コマンドを実行します。

PS C:\Users\joeac> cd desktop/docker
PS C:\Users\joeac\Desktop\docker>

 既に作成済みの「compose.yaml」ファイルを保存している「webdb」ディレクトリに移動します。次のコマンドを実行します。

・「cd webdb」コマンドを実行します。

PS C:\Users\joeac\Desktop\docker\webdb>

「docker compose」コマンド

 Docker Composeコマンドは、複数のDockerコンテナを管理するためのツールであり、以下のコマンドが提供されています。

docker compose up

 「compose.yaml」の内容に基づいて、すべてのサービス用のコンテナを構築し、(再)作成し、開始し、アタッチします。通常、「docker compose up」コマンドはデタッチモード(バックグラウンド実行)で実行され、「-d」オプションが付加されます。サービス名を指定して起動することもできます。

・「docker compose up -d」コマンドを実行します。

PS C:\Users\joeac\Desktop\docker\webdb> docker compose up -d
[+] Running 19/19
 ✔ db 10 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                 14.4s
   ✔ 9a5c778f631f Pull complete                                      3.9s
   ✔ ccc451c3fb55 Pull complete                                      3.0s
   ✔ db534de989c8 Pull complete                                      3.3s
   ✔ c1a1ab6fb3ea Pull complete                                      3.9s
   ✔ d18a374d12e6 Pull complete                                      3.9s
   ✔ 2d9f4c3e8c03 Pull complete                                      4.5s
   ✔ 4c79cbebfe62 Pull complete                                      5.7s
   ✔ b3549fdd6799 Pull complete                                      4.6s
   ✔ c08846a4ab7a Pull complete                                      6.6s
   ✔ 084bd453daf0 Pull complete                                      5.3s
 ✔ web 7 layers [⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                     6.8s
   ✔ 8a1e25ce7c4f Pull complete                                      1.7s
   ✔ e78b137be355 Pull complete                                      1.9s
   ✔ 39fc875bd2b2 Pull complete                                      0.7s
   ✔ 035788421403 Pull complete                                      1.4s
   ✔ 87c3fb37cbf2 Pull complete                                      2.2s
   ✔ c5cdd1ce752d Pull complete                                      2.3s
   ✔ 33952c599532 Pull complete                                      2.6s
[+] Building 0.0s (0/0)                                    docker:default
[+] Running 3/3
 ✔ Network webdb_default  Created                                    0.0s
 ✔ Container webdb-web-1  Started                                    0.5s
 ✔ Container webdb-db-1   Started                                    0.5s

docker compose stop

すべてのサービスを停止します。サービス名を指定して停止することもできます。

・「docker compose stop」コマンドを実行します。

すべてのサービスを停止させます。

PS C:\Users\joeac\Desktop\docker\webdb> docker compose stop
[+] Stopping 2/2
 ✔ Container webdb-db-1   Stopped                                    0.0s
 ✔ Container webdb-web-1  Stopped                                    0.5s

docker compose start

既に作成済のすべてのDockerコンテナを起動します。

・「docker compose start」コマンドを実行します。

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                                    0.3s

docker compose restart

すべてのコンテナを再起動します。

・「docker compose restart」コマンドを実行します。

PS C:\Users\joeac\Desktop\docker\webdb> docker compose restart
[+] Restarting 2/2
 ✔ Container webdb-db-1   Started                                    0.3s
 ✔ Container webdb-web-1  Started                                    1.0s

docker compose 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       10 minutes ago   Up About a minute   80/tcp

docker compose logs

すべてのサービスのログを表示します。

・「docker compose ps」コマンドを実行します。

PS C:\Users\joeac\Desktop\docker\webdb> docker compose logs
webdb-db-1   | 2024-03-31 08:15:45+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.3.0-1.el8 started.
webdb-web-1  | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
webdb-web-1  | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
(省略)
webdb-web-1  | 2024/03/31 08:24:52 [notice] 1#1: start worker process 39
webdb-web-1  | 2024/03/31 08:24:52 [notice] 1#1: start worker process 40
webdb-web-1  | 2024/03/31 08:24:52 [notice] 1#1: start worker process 41

docker compose down

 「docker compose up」で起動したコンテナの停止と削除を同時に行います。ネットワークも削除されます。

・「docker compose down」コマンドを実行します。

PS C:\Users\joeac\Desktop\docker\webdb> docker compose down
[+] Running 3/3
 ✔ Container webdb-web-1  Removed                                    0.4s
 ✔ Container webdb-db-1   Removed                                    0.0s
 ✔ Network webdb_default  Removed                                    0.2s
PS C:\Users\joeac\Desktop\docker\webdb>

最後にDockerオブジェクトの削除

ここで、作成したDockerオブジェクトをすべて削除しておきます。

・「docker system prune -a」コマンドを実行します。

Are you sure you want to continue? [y/N] の問いには「y」と入力します。

PS C:\Users\joeac\Desktop\docker\webdb> 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
Deleted Images:
untagged: mysql:latest
untagged: mysql@sha256:4552fcc5d3cdb8cdee76ee25cce28bf60b0eb3ce93d25ba3bfff7a66bfdcdee8
deleted: sha256:82563e0cbf18162af685bff03debc195b851c327c31163fd211c0144d3c1baae
deleted: sha256:1ec6a25d9d0e9f5b6b9de54bd25a7abadf87e462e4a8f7bcdd2e51465514d1a0
deleted: sha256:94db37d32ebfad636d2c0c57e92f333416c8df0328eca57c9acaf4ee17f79146
deleted: sha256:841f234a9a856b8a729e98ff390dd0e41ca8f08b63dd361597dd1b809047e63f
deleted: sha256:4780dae798526f95105c00ebe09cc47591b30eff4de56c86c700430ebd0348b5
deleted: sha256:64b93fdb873fcf262cc40fa492e6598b7df0b64ee02771df1aa120685b970d09
deleted: sha256:696891c1289e24722d08ab7db3f61edb32874dcc6c764d748df077370f7bbae5
deleted: sha256:26f817f40dbe49d6507930ebccae13645bbfb39ca63bf1ceaf769f7605df9b32
deleted: sha256:7f9290a30ea78acd85c216f714bb5df589531db0b559bb3cd8f17332390a55b2
deleted: sha256:b1594fddff8b8af91a2289850c56169c201baa26df4e7a98ecfeb6f669619279
deleted: sha256:18a3ada103a9229bc00b549b66ae7caa0bc0eb47e785859d8b1346a254a871d1
untagged: nginx:latest
untagged: nginx@sha256:6db391d1c0cfb30588ba0bf72ea999404f2764febf0f1f196acd5867ac7efa7e
deleted: sha256:92b11f67642b62bbb98e7e49169c346b30e20cd3c1c034d31087e46924b9312e
deleted: sha256:d9e826dbb4b3c5770fe92638baa8c6614f210d782a5d021a123fe9fa1f92c23d
deleted: sha256:2a75285e888884bed4d630896c86ecd71739c6e82669e21ad7a050f33c9ac48d
deleted: sha256:32bfe3f040358ab8f9872a63d4ddefdc68f35d991ca10a812cbac5912ae9f97b
deleted: sha256:1330486eb62ea7e96f384961b77b0fc85f5d4422e761114ef3a72e7cb89751a4
deleted: sha256:a375372209a0f2b2c697a52cce46bc41b495bf86184ae83dd5146e20c22078eb
deleted: sha256:450787ca55caa59d0288de9cf36fc6b77d1b208a77eb837ec3d25b385f99cafb
deleted: sha256:a483da8ab3e941547542718cacd3258c6c705a63e94183c837c9bc44eb608999

Total reclaimed space: 819.1MB
PS C:\Users\joeac\Desktop\docker\webdb>

すべて削除されない場合

コマンドやDocker Desktopを使って個別に削除します