2015-09-25 17 views
12

Dockerは、AUFSのようなユニオンファイルシステムを使用してコンテナを作成する正確な方法は何ですか? Dockerがunionファイルシステムの代わりに通常のファイルシステムを使用しなければならなかった場合、何が欠点になるでしょうか?Dockerにユニオンファイルシステムが必要な理由

私は特定の技術的な詳細や内部構造を探しており、高度な回答ではありません。

答えて

18

それが使用された:ファイルの完全なセットを複製

  • 避けるには、新しいコンテナ
  • としてイメージを実行するたびに、同じのためにできるように、独自の層でコンテナファイルシステムへの変更を隔離します容器(容器が取り外されたとき、変更を有する層は、却下されているので)、既知のコンテンツから再起動する

UnionFSすなわち:

は、他のファイルシステム用にunion mountを実装しています。これは、分岐と呼ばれる別々のファイルシステムのファイルとディレクトリを透過的に重ね合わせて、単一の一貫性のあるファイルシステムを形成することを可能にします。
マージされたブランチ内で同じパスを持つディレクトリの内容は、新しい仮想ファイルシステム内の1つのマージされたディレクトリにまとめて表示されます。

これは、書き込み可能として表示されるファイルシステムを可能にするが、実際の書き込みは、ファイルシステムを変更することができずに、あなたはunionfsの、200メガバイトのイメージラン5を持っていなかった場合もcopy-on-write

として知られていますコンテナを5つに分けると1GBのディスク容量が必要になります。

How does a Docker image work?」でさらにご覧ください。
は、技術的な詳細については、以下を参照してください

+0

さらに、バックエンドのSANストレージデバイス上のドッカーイメージをホストするユーザーにとって、膨大なキャッシュヒットはストレージ管理者の夢でなければなりません。 – CivFan

関連する問題