過去問ドリル

LinuCレベル2 コンテナ 問15

コンテナ/Dockerコンテナとコンテナイメージの管理

別のホストでdocker exportを使い、コンテナのファイルシステムをtarファイルrootfs.tarとして書き出した。このtarファイルから新しいイメージを作成するコマンドとして適切なものはどれか。

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

正解:C

解説

docker exportはコンテナのファイルシステムを1つのtarファイルとして書き出し、docker importはそのようなtarファイルからファイルシステムのイメージを作成します。exportからimportを経たイメージは、元のレイヤの構成や履歴、CMDなどの設定を引き継ぎません。レイヤや設定を保ったままイメージを別のホストへ移したい場合は、docker saveで書き出してdocker loadで読み込みます。

選択肢ごとの解説

  • A誤り。docker loadは、docker saveで書き出したイメージのアーカイブを読み込むコマンドです。docker exportで書き出したtarファイルの取り込みには使えません。
  • B誤り。docker commitは、既存のコンテナの現在の状態から新しいイメージを作成するコマンドで、tarファイルを引数に取りません。
  • C正しい。docker importは、docker export等で作ったtarファイルからファイルシステムのイメージを作成します。
  • D誤り。docker pullは、レジストリからイメージを取得するコマンドで、ローカルのtarファイルは扱いません。
LinuCレベル2の問題を演習モードで解く