LinuCレベル2 コンテナ 問2
コンテナ/コンテナの仕組みLinuxコンテナの分離を実現する主要なカーネル機能である名前空間(namespace)とcgroupsの役割の説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「コンテナ」に対応。実際の試験問題ではありません)
- A名前空間がリソースの使用量を制限し、cgroupsがプロセスの見え方を分離する
- B名前空間とcgroupsはDockerに固有の機能であり、Dockerを導入しなければカーネルには存在しない
- C名前空間はプロセスIDやネットワーク等の見え方を分離し、cgroupsはリソース使用量を制限する
- D名前空間もcgroupsも、コンテナのファイルシステムを暗号化するための機能である
正解:C
解説
Linuxコンテナは、名前空間(namespace)とcgroupsという2つのカーネル機能によって実現されます。名前空間は、プロセスID(PID)・ネットワーク・マウントポイント・ホスト名等の見え方をプロセスごとに分離し、あるコンテナから見える世界を他のコンテナやホストから隔離します。cgroupsは、CPUやメモリ、I/O等のリソース使用量の上限を設定・管理する機能です。
選択肢ごとの解説
- A誤り。役割が入れ替わっています。
- B誤り。どちらもLinuxカーネルの機能で、Dockerはそれを利用しているだけです。
- C正しい。見え方の分離が名前空間、CPUやメモリの制限がcgroupsの役割です。
- D誤り。暗号化のための機能ではありません。