Docker
ドッカーデータボリューム
サーチ…
前書き
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/app
内myApp-2
それに取り付けられているのと同様に、容器/data/app
でmyApp-1
容器。