はじめに
Docker ボリュームは、コンテナのライフサイクルとは独立してデータを永続化することができる強力な機能です。このチュートリアルでは、すべての Docker ボリュームを一覧表示する方法を探り、Docker のストレージソリューションを効果的に管理および利用するために必要な知識を提供します。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
Docker ボリュームは、コンテナのライフサイクルとは独立してデータを永続化することができる強力な機能です。このチュートリアルでは、すべての Docker ボリュームを一覧表示する方法を探り、Docker のストレージソリューションを効果的に管理および利用するために必要な知識を提供します。
Docker ボリュームは、Docker コンテナによって生成されたデータを永続化する方法です。ボリュームはコンテナのライフサイクルとは独立して設計されており、コンテナが停止、削除、または再作成された後でもデータを保存し、アクセスすることができます。
ボリュームを使用することで、コンテナのファイルシステムを直接使用する場合に比べていくつかの利点があります。
Docker はいくつかの種類のボリュームをサポートしており、それには以下のものが含まれます。
名前付きボリュームを作成するには、docker volume create
コマンドを使用することができます。
docker volume create my-volume
これにより、コンテナで使用できる my-volume
という名前の新しいボリュームが作成されます。
上記の例では、my-volume
という名前付きボリュームが 2 つのコンテナ間で共有されており、同じデータにアクセスして変更することができます。
Docker ホスト上で作成されたすべてのボリュームを一覧表示するには、docker volume ls
コマンドを使用できます。
docker volume ls
これにより、ボリュームの名前やドライバーを含むすべてのボリュームの一覧が表示されます。
--filter
オプションを使用して、ボリュームの一覧をフィルタリングすることもできます。たとえば、名前付きボリュームのみを一覧表示するには、次のようにします。
docker volume ls --filter type=volume
特定のボリュームに関する詳細情報を取得するには、docker volume inspect
コマンドを使用できます。たとえば、my-volume
ボリュームの詳細情報を取得するには、次のようにします。
docker volume inspect my-volume
これにより、ボリュームの名前、ドライバー、マウントポイントなどの情報が含まれる JSON 形式のレスポンスが出力されます。
--format
オプションを使用して、出力をカスタマイズすることもできます。たとえば、my-volume
ボリュームのマウントポイントを取得するには、次のようにします。
docker volume inspect --format '{{ .Mountpoint }}' my-volume
これにより、ボリュームがマウントされている Docker ホスト上のパスが出力されます。
特定のコンテナが使用しているボリュームを一覧表示するには、docker inspect
コマンドを使用できます。たとえば、my-container
コンテナが使用しているボリュームを一覧表示するには、次のようにします。
docker inspect my-container | grep -i "Mounts"
これにより、コンテナにマウントされているボリュームの一覧が出力され、そのソース、デスティネーション、モードが含まれます。
新しいボリュームを作成してコンテナにマウントするには、docker run
コマンドで --mount
フラグを使用できます。たとえば、my-volume
という名前の新しいボリュームを作成し、my-container
コンテナ内の /data
ディレクトリにマウントするには、次のようにします。
docker run -d --name my-container --mount source=my-volume,target=/data nginx
あるいは、同じ結果を得るために --volume
(または -v
)フラグを使用することもできます。
docker run -d --name my-container -v my-volume:/data nginx
ボリュームを削除するには、docker volume rm
コマンドを使用できます。たとえば、my-volume
ボリュームを削除するには、次のようにします。
docker volume rm my-volume
なお、どのコンテナにも使用されていないボリュームのみ削除できます。ボリュームが使用中の場合は、ボリュームを削除する前に、それを使用しているコンテナを停止して削除する必要があります。
ボリュームをバックアップするには、docker run
コマンドを使用して、ボリュームの内容を tar アーカイブにエクスポートする新しいコンテナを作成できます。たとえば:
docker run --rm --volumes-from my-container -v $(pwd):/backup busybox tar cvf /backup/my-volume.tar /data
これにより、現在のディレクトリに my-volume
ボリュームの内容が含まれる my-volume.tar
ファイルが作成されます。
ボリュームを復元するには、docker run
コマンドを使用して、tar アーカイブをボリュームにインポートする新しいコンテナを作成できます。
docker run --rm -v my-volume:/data -v $(pwd):/backup busybox tar xvf /backup/my-volume.tar
これにより、my-volume.tar
ファイルの内容が my-volume
ボリュームに復元されます。
LabEx は、Docker ボリュームを管理および利用する便利な方法を提供します。LabEx を使用すると、ボリュームの作成、マウント、管理、およびバックアップと復元操作を簡単に行うことができます。LabEx はまた、ボリュームのレプリケーションや高可用性などの高度な機能も提供しており、Docker ベースのアプリケーションを管理するための強力なツールとなっています。
このチュートリアルの終わりまでに、Docker ボリュームを一覧表示して詳細を調べる方法、および Docker 環境内でそれらを効果的に管理および利用する方法について包括的な理解を持つことになります。この知識は、整理された効率的な Docker セットアップを維持するのに役立ち、データストレージの長期性と信頼性を確保します。