過去問ドリル

LinuCレベル2 コンテナ 問11

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

docker stopとdocker killの動作の違いとして適切なものはどれか。

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

正解:D

解説

docker stopは、コンテナのメインプロセスにSIGTERM(イメージでSTOPSIGNALが指定されていればそのシグナル)を送り、猶予時間(既定は10秒)内に終了しなければSIGKILLを送って強制終了させます。アプリケーションに後始末をする機会を与える、行儀のよい停止方法です。docker killは既定でSIGKILLを送って直ちに終了させ、-sオプションで送るシグナルを変えることもできます。一時停止して後から再開したい場合はdocker pause/unpause、コンテナの削除はdocker rmを使います。

選択肢ごとの解説

  • A誤り。一時停止して再開できる状態にするのはdocker pauseです。また、killはコンテナを削除しません。
  • B誤り。説明が逆です。猶予時間を待つのはstopで、killは既定でSIGKILLを送り直ちに終了させます。
  • C誤り。どちらも実行中のコンテナを停止させるコマンドで、停止済みのコンテナの削除にはdocker rmを使います。
  • D正しい。stopはSIGTERMを送って猶予時間後にSIGKILLを送り、killは既定でSIGKILLを直ちに送ります。
LinuCレベル2の問題を演習モードで解く