記事ディレクトリ
はじめに:Dockerコンテナー内のデータを管理するには、主に2つの方法があります。データボリュームとDataVolumes
コンテナーです。
1.1。データ量
データボリュームは、コンテナ内にあるコンテナによって使用される特別なディレクトリです。ホストのディレクトリをデータボリュームにマウントでき、データボリュームの変更操作をすぐに確認でき、更新されたデータがイメージに影響を与えないため、ホストとコンテナ間のデータの移行が実現します。データボリュームの使用は、Linuxでのディレクトリのマウント操作に似ています。
例:ホストディレクトリ/ var/wwwをc1およびc2コンテナの/data1および/data2にそれぞれマウントします
(1)2つのコンテナを作成し、マウントポイントを指定します
docker run -itd -v /var/www:/data1 --name c1 centos:7 bash
docker run -itd -v /var/www:/data2 --name c2 centos:7 bash
(2)ホストディレクトリにデータを書き込む
echo "this is test fuck web" > index.html
(3)他の2つの端末を開き、それぞれc1 c2コンテナにログインして、マウントポイントディレクトリ内のファイルを表示します。
マウントが成功している間、ファイル共有も実現できます。たとえば、c2端末でファイルを作成すると、c1ホストでも表示されます。
2.データボリュームコンテナ
コンテナ間でデータを共有する必要がある場合、最も簡単な方法はデータボリュームコンテナを使用することです。データボリュームコンテナは、他のコンテナがマウントして使用するためのデータボリュームを提供する通常のコンテナです。
(1)最初にデータボリュームコンテナを作成します
docker run -itd --name v1 -v /data1 -v /data2 centos:7 bash
#有data1 data2 两个挂载点目录
(2)別のコンテナを作成し、データボリュームコンテナにマウントします
docker run -itd --name v2 --volumes-from v1 centos:7 bash
(3)他の2つの端末を開いて、それぞれv1 v2コンテナにログインし、マウントポイントを表示します