Docker の人気に伴い、多数のアプリケーションが Docker コンテナにデプロイされ始めています。 Docker の移植性と分離性の利点により、アプリケーションのデプロイメントの効率と安定性が大幅に向上します。ただし、Docker コンテナーの分離の性質により、人々は少し無力感を感じることがあります。この記事では、Dockerコンテナを再起動せずにディレクトリをマウントする方法を紹介します。
まず、Docker のデータ量を理解する必要があります。データ ボリュームは、Docker コンテナにデータを保存するために使用されるメカニズムであり、ローカル ディレクトリを Docker コンテナにマウントして、コンテナ内のデータをローカル ディスクに永続化できます。 Docker コンテナを起動するときに、以下に示すように、マウントするローカル ディレクトリを指定できます。
docker run -v /localdir:/containerdir image_name
このうち、/localdir
はローカル ディレクトリ、/containerdir## はローカル ディレクトリです。 # はコンテナ内のディレクトリ、
image_name は Docker イメージの名前です。
mount コマンドを使用することです。
mountコマンドはファイルシステムのマウント、アンマウントを実現するコマンドで、Dockerコンテナを再起動せずにマウントディレクトリを変更することができます。具体的な手順は次のとおりです。
docker inspect -f '{{json .Mounts}}' container_name
container_name はコンテナの名前を指します。 Dockerコンテナ。
[ { "Type": "bind", "Source": "/var/data", "Destination": "/app/data", "Mode": "", "RW": true, "Propagation": "rprivate" } ]このうち、
Typeがマウントタイプです。 ,
Source はローカル ディレクトリ、
Destination はコンテナ内のディレクトリ、
RW は読み取りおよび書き込み権限を示します。
mount --make-rprivate /var/data umount /var/data
--make-rprivate オプションを使用してディレクトリを次のように設定します。他のプロセスへの影響を避けるためのプライベート権限。
umount コマンドは、ディレクトリをアンインストールするために使用されます。
mount --bind /new/data /var/data
以上がDockerを再起動せずにディレクトリをマウントする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。