サーチ…


前書き

Dockerのデータボリュームは、コンテナのライフサイクルとは独立したデータを保持する方法を提供します。ボリュームには、次のような便利な機能が多数あります。

コンテナ内にホストディレクトリをマウントし、ファイルシステムを使用してコンテナ間でデータを共有し、コンテナが削除された場合にデータを保持する

構文

  • ドッカーの音量[オプション] [コマンド]

ローカルホストからコンテナにディレクトリをマウントする

-vまたは--volumeコマンドラインオプションを使用して、コンテナ内の特定のパスにホストディレクトリをマウントすることは可能です。次の例は、マウントします/etcのホスト上/mnt/etcの容器で:

(on linux) docker run -v "/etc:/mnt/etc" alpine cat /mnt/etc/passwd
(on windows)  docker run -v "/c/etc:/mnt/etc" alpine cat /mnt/etc/passwd

コンテナ内のボリュームへのデフォルトアクセスは読み書き可能です。ボリュームを読み取り専用でコンテナ内にマウントするには、接尾辞:ro

docker run -v "/etc:/mnt/etc:ro" alpine touch /mnt/etc/passwd

名前付きボリュームの作成

docker volume create --name="myAwesomeApp"

名前付きボリュームを使用すると、ボリュームをより人間が読めるように管理できます。上で指定したコマンドを使用して名前付きボリュームを作成することは可能ですが、 -vまたは--volumeコマンドラインオプションを使用して--volume docker runコマンド内に名前付きボリュームを作成することもできます。

docker run -d --name="myApp-1" -v="myAwesomeApp:/data/app" myApp:1.5.3

この形式で名前付きボリュームを作成することは、有効なパスの代わりにボリューム名が指定されている点を除いて、ホストファイル/ディレクトリをボリュームとしてマウントするのと同様です。作成した名前付きボリュームは、他のコンテナと共有することができます。

docker run -d --name="myApp-2" --volumes-from "myApp-1" myApp:1.5.3

上記のコマンドを実行すると、 myApp:1.5.3 myApp-1という名前のmyAwesomeApp共有しているmyApp:1.5.3イメージからmyApp-2という名前の新しいコンテナが作成されました。 myAwesomeAppというボリュームがで実装されている/data/appmyApp-2それに取り付けられているのと同様に、容器/data/appmyApp-1容器。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow