docker stopコマンドの使い方(実例付)CE対応
docker stopコマンドの使い方を解説します。Docker CE ver17.12.1に対応してます。
このコマンドは、起動中のコンテナを停止することが出来ます。
停止処理が開始されてから、一定時間経過後に強制終了を行う仕様ですが、強制処理が実行されるまでの時間を指定することが出来ます。デフォルトは10秒です。
それでは以下で詳細に解説いたします。
本記事の目次
docker stopコマンドのフォーマットとオプション
フォーマット
docker stop [オプション] [コンテナ] [コンテナ...]
主なオプション一覧
-t
強制終了処理が開始されるまでの時間(単位は秒)を指定する。デフォルトは10秒。
docker stopコマンドの主な使い方
以下の実例は、CentOSの公式イメージにより起動したコンテナ(testvm)を使用します。コンテナは「docker run -d --name testvm centos init」で起動します。
起動中のコンテナを停止する
以下のコマンドで、起動中のコンテナtestvmを停止します。
$ docker stop testvm
docker psコマンドでtestvmコンテナが停止していることを確認します。その際、「-a」オプションを忘れずに指定します。「-a」オプションが無い場合は、起動中のコンテナのみ表示されます。
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c1c51a5aa9e6 centos "init" About a minute ago Exited (137) 2 seconds ago testvm
「STATUS」が「Exited」と表示されてますので、起動していることが確認できます。
強制終了時間を指定してコンテナを停止する
「-t」オプションを付けて時間(単位は秒)を指定すると、コンテナの停止処理を開始してから、指定時間経過後に、強制終了を試みます。ここでいう強制終了とは、プロセスのkillを行うことを指します。
シグナル的には、最初に「SIGTERM」で停止処理を行い、指定時間経過後に「SIGKILL」を送信します。
「-t」を指定しない場合でも、デフォルト時間である10秒経過すると強制終了する仕様になってます。
私の環境では、testvmを起動してから「-t」オプション無しで停止させると、停止するまで約8秒くらい掛かります。
$ docker start testvm testvm $ docker stop testvm testvm
しかし、以下のように「-t」で2秒を指定して停止すると、2~3秒で停止しました。
$ docker start testvm testvm $ docker stop -t 2 testvm testvm
以上でdocker stopコマンドの紹介を終わります。
ご指摘、ご要望などが御座いましたらコメントいただけるとうれしいです。
他のDockerコマンドの実例付紹介記事は、本サイト内の別記事「Dockerのコマンドの一覧(ver1.12対応版)(オリジナルな実例付き)」をご参照ください。
ご訪問ありがとうございました!