Dockerデータストレージの概要

Dockerデータストレージの概要

この記事を読む前に、ボリューム、バインドマウント、tmpfs マウントの基本を理解しておいてください。詳細については、次の記事を参照してください。

  • Docker データ ストレージ ボリューム
  • Docker データストレージ バインドマウント
  • Docker データ ストレージ tmpfs マウント

次の図は、ボリューム、バインド マウント、および tmpfs マウントの違いを示しています。

ボリュームの使用シナリオ

  • 複数のコンテナ間でデータを共有します。
  • Docker ホストに特定のフォルダーまたはディレクトリ構造があることを確認する方法はありません。ボリュームを使用すると、これらのホストの違いを隠すことができます。
  • データをリモート ホストまたはクラウド プロバイダーに保存する場合。
  • ある Docker ホストから別の Docker ホストにデータをバックアップ、復元、または移行する場合は、ボリュームが適切な選択肢です。

バインドマウントの使用例

  • ホストとコンテナ間で構成ファイルを共有します。たとえば、nginx コンテナの構成ファイルをホスト マシンに保存し、バインド マウントを使用してマウントすると、nginx 構成を変更するためにコンテナに入る必要がなくなります。
  • ホストとコンテナ間でコードまたはビルド出力を共有します。たとえば、ホスト上のプロジェクトのターゲット ディレクトリをコンテナーにマウントできます。このようにして、Maven がホスト上で新しい製品をビルドするときに、新しいイメージを生成せずにコンテナー内で直接実行できます。
  • Dockerホスト上のファイルまたはディレクトリ構造が決定されます

tmpfsマウントの使用例

  • セキュリティやその他の理由でコンテナまたはホストにデータを保持したくない場合は、tmpfs マウント モードを使用できます。

バインドマウントとボリュームの動作の違い

  • 空のボリュームを空でないコンテナ ディレクトリにマウントすると、コンテナ ディレクトリ内のファイルがボリュームにコピーされます。つまり、コンテナ ディレクトリ内の元のファイルはボリュームによって上書きされません。
  • バインド マウントを使用してホスト ディレクトリをコンテナー ディレクトリにマウントすると、コンテナー ディレクトリ内の元のファイルは非表示になり、ホスト ディレクトリ内のファイルのみが読み取れるようになります。

参考文献

https://docs.docker.com/storage/#tmpfs-mounts の優れた使用例

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Docker のデフォルトイメージとコンテナの保存場所を変更する方法
  • Dockerの永続ストレージとデータ共有の詳細な説明
  • Docker データ ストレージ ボリュームの詳細な説明
  • Docker ストレージ ドライバーの紹介
  • Dockerデータストレージのバインドマウントの詳細な説明
  • Docker データ ストレージ tmpfs マウントの詳細な説明
  • Dockerサーバーのストレージリソースプール不足問題の解決

<<:  JavaScript 非同期プログラミングにおける Promise の初期の使用法の詳細な説明

>>:  MySQL 4.1/5.0/5.1/5.5/5.6の主な違い

推薦する

Vue3 の SetUp 関数のプロパティとコンテキスト パラメータの詳細な説明

1. setUp関数の最初のパラメータpropsセットアップ(プロパティ、コンテキスト){}最初のパ...

MySQL の挿入およびバッチ ステートメントのいくつかの例の詳細な説明

目次序文1.無視を挿入2. 重複キーの更新時3. を置き換える4.存在しない場合は挿入する5. デー...

IEのクラッシュバグ

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...

react setStateの詳細な説明

目次setState は同期ですか、それとも非同期ですか?カスタム合成イベントと React フック...

js 加算、減算、乗算、除算の正確な計算方法のサンプルコード

序文コンピュータの数値は浮動小数点であるため、計算プロセス中に取得されるデータは通常正確ではなく、そ...

Windows で mysql5.7.21 をインストールするための詳細なチュートリアル

この記事では、参考までにMySQL 5.7.21のインストールチュートリアルを紹介します。具体的な内...

vue+rem カスタムカルーセル効果

vue+remを使用したカスタムカルーセルチャートの実装は参考までに。具体的な内容は以下のとおりです...

MySQL テーブルをコピーする 3 つの方法 (要約)

テーブル構造とそのデータをコピーする次のステートメントは、データを新しいテーブルにコピーします。注:...

JavaScript BOMの構成と一般的なイベントの詳細な説明

目次1. 部品2. BOMの構成2. ウィンドウオブジェクトの共通イベント1. ウィンドウ読み込みイ...

図を使ってWeb2.0とは何かを説明する

最近はWeb2.0という言葉をよく耳にしますが、Web2.0とは何でしょうか? Web 1.0 とど...

Linux でのルーティングと仮想マシン ネットワークの設定に関する詳細なグラフィック説明

ルーティングとは何ですか?ルーティングとは、相互接続されたネットワークを介して送信元ステーションから...

意外と知らないLinuxのSSHコマンドの使い方7選を徹底解説

システム管理者は複数のサーバーを同時に管理する場合があり、これらのサーバーは異なる場所に配置されてい...

nginx + セカンダリドメイン名 + https サポートを使用する

ステップ1: Alibaba Cloudプライマリドメイン名にセカンダリドメイン名を追加する2 番目...

HTML テーブルタグチュートリアル (11): 水平方向の配置属性 ALIGN

水平方向では、テーブルの配置を左、中央、右に設定できます。基本的な構文<テーブル配置=&quo...

Java を Mysql バージョン 8.0.18 に接続する方法の詳細な説明

JavaとMysql 8.0.18バージョンの接続方法については、参考までに具体的な内容は以下のとお...