CodeGym /コース /Docker SELF /ボリュームの作成と管理

ボリュームの作成と管理

Docker SELF
レベル 19 , レッスン 1
使用可能

2.1 基本的な docker volume コマンド

Dockerのボリューム (volumes) は、コンテナのデータを長期的に保存し、データの管理や分離を簡単にします。docker volume コマンドは、ボリュームの作成、管理、削除のためのツールセットを提供します。この講義では、Dockerでボリュームを効率的に管理するために、docker volume コマンドの使い方を見ていきます。

docker volume の基本コマンド:

  1. docker volume create
  2. docker volume ls
  3. docker volume inspect
  4. docker volume rm
  5. docker volume prune

2.2 ボリュームの作成: docker volume create

docker volume createコマンドは、新しいボリュームを作成するために使用するよ。デフォルトでは、Dockerはホストの標準の場所にボリュームを作成するけど、色々なパラメータを指定してボリュームを設定することもできるんだ。

簡単なボリューム作成の例

この例では、my_volumeという名前のボリュームを作成するよ。

ターミナル

docker volume create my_volume

設定付きボリュームの作成

特定の特性を持つボリュームを作成するために、ドライバやオプションを指定することもできるよ。

ターミナル

docker volume create --driver local --opt o=uid=1000 --opt o=gid=1000 --opt type=tmpfs --opt 
device=tmpfs my_custom_volume

これらのパラメータについては後で詳しく見るから、今はあまり気にしなくて大丈夫だよ。

2.3 ボリュームリスト: docker volume ls

docker volume ls コマンドはホスト上に作成されたすべてのボリュームのリストを表示するよ。

ターミナル

docker volume ls

出力には、既存のすべてのボリュームの情報が含まれるよ:

ターミナル

DRIVER    VOLUME NAME
local     my_volume
local     my_custom_volume

2.4 ボリューム情報: docker volume inspect

docker volume inspectコマンドは、特定のボリュームの場所、パラメータ、使用状況など、詳細な情報を提供するよ!

ターミナル

docker volume inspect my_volume

コマンドの出力はJSON形式で情報を含むよ:

JSON

[
    {
        "CreatedAt": "2023-07-26T12:34:56Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/my_volume/_data",
        "Name": "my_volume",
        "Options": {},
        "Scope": "local"
    }
]

2.5 ボリュームを削除する: docker volume rm

docker volume rmコマンドはボリュームを削除するために使用されるよ。削除する前に、そのボリュームがコンテナで使用されていないことを確認するのが大事だよ。

ボリューム削除

もしボリュームが使用中の場合、Dockerはエラーを出してボリュームを削除できないことを教えてくれるよ。

ターミナル

docker volume rm my_volume

未使用ボリュームのクリーンアップ: docker volume prune

docker volume pruneコマンドはすべての未使用ボリュームを削除するよ。これでディスクの空き容量が増えるんだ。

未使用ボリュームのクリーンアップ

コマンドを実行すると、Dockerが未使用ボリュームをすべて削除するかどうか確認してくるよ。

ターミナル

docker volume prune

2.6 コマンドの実用的な使い方の例

例1: コンテナでのボリュームの作成と使用

ボリュームの作成:

ターミナル

docker volume create app_data

ボリュームを使用したコンテナの起動:

ターミナル

docker run -d --name my_app -v app_data:/usr/share/nginx/html nginx

この例では、ボリューム app_data がコンテナ nginx のディレクトリ /usr/share/nginx/html にマウントされます。

例2: ボリューム情報の取得

ボリュームの作成:

ターミナル

docker volume create logs_data

ボリュームを使用したコンテナの起動:

ターミナル

docker run -d --name log_app -v logs_data:/var/log/app busybox

ボリューム情報の表示:

ターミナル

docker volume inspect logs_data

例3: ボリュームの削除とクリア

ボリュームの作成と使用:

ターミナル

docker volume create temp_data

docker run -d --name temp_app -v temp_data:/tmp busybox

コンテナの停止と削除:

ターミナル

docker stop temp_app

docker rm temp_app

ボリュームの削除:

ターミナル

docker volume rm temp_data

未使用ボリュームをすべてクリア:

ターミナル

docker volume prune
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION