ホームページ  >  記事  >  運用・保守  >  Docker ではボリュームとは何を意味しますか?

Docker ではボリュームとは何を意味しますか?

WBOY
WBOYオリジナル
2021-12-30 10:51:076570ブラウズ

Docker では、ボリュームは「データ ボリューム」を意味し、デフォルトの結合ファイル システムをバイパスし、通常のファイルまたはディレクトリの形式でホスト上に存在することで、永続的なデータの保存と共有を実現します。コンテナの間。

Docker ではボリュームとは何を意味しますか?

このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

Docker におけるボリュームとは何ですか?

Docker ボリューム (通常はデータ ボリュームと訳されます) は、永続的なデータを保存するために使用されます。 Docker コンテナで MySQL などのデータベースを実行する場合、通常は Docker Volume を介してホストにデータを保存します。これにより、MySQL コンテナが削除されてもデータはホスト上に保存され、データのセキュリティが効果的に確保されます。 。

1. Docker ボリュームの指定

docker run コマンドを使用して Docker コンテナを実行します

docker run -itd --volume /tmp/data1:/tmp/data2 --name test ubuntu bash
  • ubuntu イメージ Docker コンテナを作成します。

  • コンテナの名前は test で、-name オプションで指定します。

  • Docker ボリュームは –volume オプションで指定し、ホストの /tmp/data1 ディレクトリとコンテナの /tmp/data2 ディレクトリが 1 対 1 に対応します。

2. Docker ボリュームの表示

docker Inspection コマンドを使用して、Docker コンテナーの詳細情報を表示します:

docker inspect --format= '{{json .Mounts}}' test | python -m json.tool
[
{
"Destination": "/tmp/data2",
"Mode": "",
"Propagation": "",
"RW": true,
"Source": "/tmp/data1",
"Type": "bind"
}
]
  • –format オプションを使用して、必要なコンテナ情報を選択して表示します。 .Mount はコンテナの Docker Volume 情報です。

  • python -m json.tool は、出力された json 文字列をフォーマットして表示できます。

  • Source は、ホスト上のディレクトリ、つまり /tmp/data1 を表します。

  • 宛先はコンテナ内のディレクトリ (/tmp/data2) です。

3. ローカル ファイルはコンテナーと同期できます

local/tmp/data1 ディレクトリに新しい hello.txt ファイルを作成します

touch /tmp/data1/hello.txt
ls /tmp/data1/
hello.txt

hello.txt ファイルは、container/tmp/data2/ ディレクトリに表示されます

docker exec コマンドを使用して、コンテナ内でコマンドを実行します。

docker exec test ls /tmp/data2/
hello.txt

ローカル ディレクトリ /tmp/data1/ の変更をコンテナ ディレクトリ /tmp/data2/ に同期できることがわかります。

4. コンテナ ファイルはホストと同期できます

container/tmp/data2 ディレクトリに新しい world.txt ファイルを作成します

docker exec test touch /tmp/data2/world.txt
docker exec test ls /tmp/data2/
hello.txt
world.txt

world.txt ファイル host/tmp/data1/ ディレクトリに表示されます

ls /tmp/data1/
hello.txt world.txt

コンテナ ディレクトリ/tmp/data2/ の変更がホスト ディレクトリ/tmp/data1/ に同期できることがわかります。

5. 結論

Docker ボリュームは本質的にコンテナとホストの間で共有されるディレクトリまたはファイルであるため、Docker ボリューム内のデータはコンテナ間で共有できます。ホストとコンテナをリアルタイムで同期します。 Virtualbox を使用して仮想マシンを作成する場合、Docker Volume とよく似た共有ディレクトリを構成することもできます。

推奨される学習: 「docker ビデオ チュートリアル

以上がDocker ではボリュームとは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。