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

【Docker入門】ボリュームを操作するコマンド

 ボリュームを操作するコマンドは、Dockerを使用してコンテナ間でデータを永続化するために使用されます。以下にそれぞれのコマンドを解説します。

docker volume create

 このコマンドは、新しいボリュームを作成します。ボリュームは、コンテナ間でデータを共有するための永続的な場所として使用されます。例えば、データベースやファイルシステムの保存領域などに利用されます。

【構文】

docker volume create <ボリューム名>

・「docker volume create vol1」コマンドを実行します。

PS C:\Users\joeac> docker volume create vol1
vol1

docker volume ls

 このコマンドは、システムに存在するすべてのボリュームの一覧を表示します。これにより、どのボリュームが利用可能であるか、またボリュームの名前などの情報を確認できます。

【構文】

docker volume ls

・「docker volume ls」コマンドを実行します。

PS C:\Users\joeac> docker volume ls
DRIVER    VOLUME NAME
local     vol1

docker volume inspect

 このコマンドは、指定されたボリュームの詳細情報を表示します。これには、ボリュームの名前、マウントポイント、作成日時などの情報が含まれます。

【構文】

docker volume inspect <ボリューム名>

・「docker volume inspect vol1」コマンドを実行します。

PS C:\Users\joeac> docker volume inspect vol1
[
    {
        "CreatedAt": "2024-03-23T04:09:37Z",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/vol1/_data",
        "Name": "vol1",
        "Options": null,
        "Scope": "local"
    }
]

docker volume rm

 このコマンドは、指定されたボリュームを削除します。削除されたボリュームに関連するデータは完全に失われますので、注意が必要です。

【構文】

docker volume rm <ボリューム名>

・「docker volume rm vol1 」コマンドを実行します。

PS C:\Users\joeac> docker volume rm vol1
vol1

・「docker volume ls」でボリュームが削除されていることを確認します。

PS C:\Users\joeac> docker volume ls
DRIVER    VOLUME NAME

「vol1」ボリュームが削除されています。

docker volume prune

 このコマンドは、システムに存在するすべての未使用のボリュームを一括削除します。これにより、不要なボリュームをクリーンアップすることができます。

 「docker system prune」コマンドでもでも、同様に不要なボリュームを削除することができます。こちらのコマンドは、イメージ、コンテナ共に一括で削除します。

備考:「docker volume prune」や「docker system prune -a」コマンドで削除できない場合は、「docker volume rm」コマンドで個別に削除を試みます。

【構文】

docker volume prune

docker system prune -a

ここで、不要なDockerオブジェクトを削除しておきます。

「docker system prune 」に「-a」オプションを指定します。

・「docker system prune -a」

 Are you sure you want to continue? [y/N] と問われたら、「y」と入力して「Enter」キーを押します。

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
Deleted Containers:
880801d6c9911f5c11c17c56cbcc691e7abbbc289ab570825d509cd2588ddf5f
e02537ac90863d93ce1582c49abd346a588bb3acf1c2d1244f591e5198fa1fdb

Deleted Images:
untagged: whale-image:latest
deleted: sha256:7f31030879b763eaf19d170efe1c28f2c06187ffeb943bdfb177bd71e7e6b718
untagged: base-image:latest
deleted: sha256:b4c086162e4fc89b8073316d7efca0f9288f199317f82db6fdba14498552dc75
untagged: busybox:latest
untagged: busybox@sha256:650fd573e056b679a5110a70aabeb01e26b76e545ec4b9c70a9523f2dfaf18c6
deleted: sha256:ba5dc23f65d4cc4a4535bce55cf9e63b068eb02946e3422d3587e8ce803b6aab
deleted: sha256:95c4a60383f7b6eb6f7b8e153a07cd6e896de0476763bef39d0f6cf3400624bd

Deleted build cache objects:
v524c1pebx036qyr8gpvp73f2
caez2eax7auoeddq34mcjmlcp
jgv0q3rg9udfl78dgig4awetr
t7xer4gfns7thdbpmltlfizi7
ntz8icxhixfx5iujdkbddpar6
yqz63bv9ioye4mgi0509uhsnq
1u6fdvs59tmvor3n7leprpjx0

Total reclaimed space: 109.5MB

 これらのコマンドを使用することで、Docker環境でボリュームを管理し、データの永続化を効果的に行うことができます。