過去問ドリル

LinuCレベル2 コンテナ 問8

コンテナ/コンテナの仕組み

Dockerのコンテナ内で、イメージに含まれていたファイルを変更したときの動作として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル2の出題範囲「コンテナ」に対応。実際の試験問題ではありません)

正解:D

解説

Dockerのコンテナは、読み取り専用のイメージのレイヤの上に、コンテナごとの書き込み可能な層を重ねて一つのファイルシステムとして見せています。イメージ由来のファイルを変更すると、そのファイルがまず書き込み層へコピーされ、コピーに対して変更が加えられます(コピーオンライト)。そのため元のイメージは変わらず、同じイメージから起動した他のコンテナにも影響しません。書き込み層の内容はコンテナを停止しても残りますが、docker rmでコンテナを削除すると失われます。

選択肢ごとの解説

  • A誤り。イメージのレイヤは読み取り専用で、コンテナ内の変更がイメージや他のコンテナに反映されることはありません。
  • B誤り。レイヤは読み取り専用ですが、コピーオンライトにより、コンテナ内ではイメージ由来のファイルも変更できます。
  • C誤り。書き込み層はディスク上にあり、コンテナを停止しても残ります。失われるのはコンテナを削除したときです。
  • D正しい。コピーオンライトにより、書き込み層にコピーしたファイルが変更され、イメージのレイヤは変わりません。
LinuCレベル2の問題を演習モードで解く