過去問ドリル

LinuCレベル1 Linuxのインストールと仮想マシン・コンテナの利用 問33

Linuxのインストールと仮想マシン・コンテナの利用/仮想マシン・コンテナの概念と利用

docker stop web を実行して停止したコンテナ web(docker ps -a の一覧には残っている)を、新しいコンテナを作らずに同じコンテナのまま再び起動したい。コマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「Linuxのインストールと仮想マシン・コンテナの利用」に対応。実際の試験問題ではありません)

正解:A

解説

docker stop で停止したコンテナは削除されるわけではなく、停止状態のまま残り、docker ps -a で確認できます。停止中のコンテナは docker start コンテナ名 で再び起動でき、コンテナ内で書き込んだ変更(書き込み層の内容)も保たれています。一方 docker run は、イメージから新しいコンテナを作成して起動するコマンドです。不要になった停止中のコンテナは docker rm で削除します。

選択肢ごとの解説

  • A正しい。停止状態のコンテナを、同じコンテナのまま再び起動します。
  • B誤り。docker run はイメージから新しいコンテナを作成して起動するコマンドです。この場合は web という名前のイメージを探し、既存のコンテナとは別のコンテナを作ろうとします。
  • C誤り。docker exec は、実行中のコンテナの中で追加のコマンドを実行するためのコマンドです。停止中のコンテナを起動する機能はありません。
  • D誤り。docker pull はレジストリからイメージを取得(ダウンロード)するコマンドで、コンテナの起動は行いません。
LinuCレベル1の問題を演習モードで解く