cgroupとnamespaceの違い 質問する

cgroupとnamespaceの違い 質問する

最近、Docker を学び始めましたが、大変な作業のほとんどは、名前空間と cgroup を使用して Linux カーネルによって実行されるようです。

私が混乱している点は次のとおりです:

  1. 名前空間と cgroup の違いは何ですか? それぞれが対応する異なるユースケースは何ですか?

  2. 人気を得るために、Docker はこれらに加えて何を実装しましたか?

  3. これらの機能の内部とその実装方法を知りたいです。

ベストアンサー1

これら2つの概念の適切なリンクは、14307 印刷:

内部的には、Docker は次のコンポーネントに基づいて構築されています。

cグループそしてnamespacesLinuxカーネルの機能

と:

  • cグループコントロール グループは、タスクのセットとその将来のすべての子を、特殊な動作を持つ階層型グループに集約/分割するためのメカニズムを提供します。
  • 名前空間: グローバル システム リソースを抽象化でラップし、名前空間内のプロセスに、グローバル リソースの独自の分離されたインスタンスがあるように見せます。

要するに:

  • Cグループ= 使用できる量を制限します。
  • 名前空間= 表示できるもの(つまり使用できるもの)を制限します

詳細は「コンテナの解剖: 名前空間、cgroup、ファイルシステムの魔法" によるジェローム・ペタゾーニ

Cgroup にはリソースの計測と制限が含まれます。

  • メモリ
  • CPU
  • ブロックI/O
  • 通信網

名前空間はプロセスにシステムの独自のビューを提供します

複数の名前空間:

おすすめ記事