前回の記事では、Dockerの基礎知識であるローカルディレクトリのマウント方法を紹介しました。今日は、Dockerでデータボリュームを管理する2つの方法を紹介します。具体的な内容は以下のとおりです。 データボリュームとはデータ量:ボリュームとは、1 つ以上のコンテナー内に存在する特定のファイルまたはフォルダーです。このディレクトリは、ユニオン ファイル システムから独立した形式でホスト マシン内に存在し、データの共有と永続化を容易にします。 データ ボリュームを使用する理由は何ですか? Docker 階層化ファイルシステムの問題: データ量を管理する2つの方法
1. バインドマウントバインドマウントは、ホスト上のディレクトリまたはファイルをコンテナにマウントすることです。直感的で効率的に使用でき、理解しやすいです。 nginxイメージを使用してコンテナをバックグラウンドで実行し、ホストの/dataディレクトリをコンテナのディレクトリ/usr/share/nginx/htmlにマウントします。[root@server1 ~]# docker run -d --name demo -v /data:/usr/share/nginx/html nginx フォアグラウンドに切り替えて実行し、ホストとコンテナのそれぞれ指定されたディレクトリの内容を確認します。同じです。これは、このマウント方法が、通常使用するマウント方法と同じであるためです。元のデータは隠され、ホストマシンのデータに置き換えられます。 [root@server1 ~]# docker exec -it demo bash バインドマウントのデフォルトの権限は読み取り/書き込み (rw) ですが、マウント時に読み取り専用 (ro) を指定できます。 -v オプションで指定されたパスが存在しない場合は、マウント時に自動的に作成されます。 docker run -it --name vm1 \ /etc/yum.repos.d/dvd.repo:/etc/yum.repos.d/dvd.repo:ro rhel7 bash 2. Docker管理ボリュームバインドマウントではホストファイルシステムのパスを指定する必要があり、移植性が制限されます。 [root@server1 ~]# docker volume create webdata #webdataという名前のボリュームを作成します[root@server1 ~]# docker rm -f demo #上記で作成したボリュームを削除します[root@server1 ~]# docker run -d --name demo -v webdata:/usr/share/nginx/html nginx #コンテナ内の/usr/share/nginx/htmlディレクトリにwebdataボリュームをマウントし、コンテナを実行します 作成したWebデータボリュームをコンテナの/usr...ディレクトリにマウントします。 [root@server1 ~]# docker rm -f デモ [root@server1 ~]# docker run -d --name demo -v /usr/share/nginx/html nginx 67ab13a7b24c19c53f4ce117136b9d0e4dec93c615a0192ead919d10e6c2acae
ls /var/lib/docker/volumes/2ca22fd769e4b7b6f5a02dd96fe8d47a6df5578074c0d340ced3ab33b25456ca/_data バインドマウントとDocker管理ボリュームの比較 類似点: どちらもホスト ファイル システム内のパスです。 これで、Docker でボリュームを管理する 2 つの方法についての説明は終了です。Docker ボリュームの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL における IF()、IFNULL()、NULLIF()、および ISNULL() 関数の使用に関する詳細な説明
>>: リンクをクリックしたときに表示される点線のボックスを削除するいくつかの方法
コンテナの応用はますます一般的になっていますが、大量のコンテナをどのように管理すればよいのでしょうか...
CentOS 8 に Jenkins をインストールするには、root アカウントまたは sudo ...
スプライト:以前は、各画像リソースは独立した画像でした。ブラウザが Web サイト内のさまざまな W...
目次ディスク使用量の表示ディスク クリーンアップ (軽々しく使用しないでください)データの移行ディス...
この記事では、jQueryタグセレクターアプリケーションの具体的なコードを例として紹介します。具体的...
イメージを構築するこれまで、テストやデモンストレーションにさまざまなイメージを使用しました。多くの場...
このチュートリアルでは CentOS 7 64 ビットを使用します。各仮想マシンに 2GB のメモリ...
これは純粋に CSS で実装された大きなドロップダウン メニューです。この大きなメニューは、js コ...
HTML の一般的なコメント: <!--XXXXXXXX--> (XXXXXXXX はコ...
写真を背景にしてリンクを記載します。たとえば、ウェブサイトのロゴ画像などです。例: ポテトのロゴ画像...
コードをコピーコードは次のとおりです。 <thead> <!– 最初の 2 行をヘ...
標準化されたデザインソリューション - マークアップ言語とスタイルマニュアルWeb 標準ソリューショ...
Element UIは、複数のテーブルを同時に水平および垂直にスクロールすることを実装します。 コー...
1. 疑似クラスを使用して境界線の半分を表示する <!DOCTYPE html> <...
Baiduの情報は多様すぎて目が回ります。心配しないでください。私はあなたのためにそれを体験しました...