docker kill
説明
起動コンテナーを 1 つまたは複数 kill します。
利用方法
$ docker kill [オプション] CONTAINER [CONTAINER...]
追加説明
docker のサブコマンドdocker kill
は、コンテナー 1 つまたは複数 kill します。
コンテナー内のメインプロセスに対して、デフォルトではSIGKILL
シグナルが送信されます。
あるいは--signal
オプションを指定すると、そのシグナルが送信されます。
コンテナーを参照する際には、コンテナー ID、ID のプレフィックス、コンテナー名を指定します。
--signal
(またはその短縮形-s
) フラグは、 コンテナーに送信するシステムコールシグナルを設定します。
そのシグナルには、たとえばSIGINT
のように、SIG<NAME>
形式のシグナル名を用いることができます。
あるいは、カーネルの syscall テーブルの位置を示す unsigned の数値、たとえば2
を用いることもできます。
デフォルトのシグナル (SIGKILL
) がコンテナーを停止しようとする際に、--signal
によって設定されたシグナルが、端末から実行するタイプのものではない場合があります。
これはコンテナーの主プロセスによって異なります。
たとえばたいていの場合、シグナルSIGHUP
は、端末からの実行タイプではありません。
その場合、コンテナーはそのシグナルを受信した後も、実行し続けることになります。
メモ
シェル 形式による
ENTRYPOINT
およびCMD
は、/bin/sh -c
の子プロセスとして実行されます。 これはシグナルを受け渡ししません。 つまりその実行モジュールはコンテナーの PID 1 ではなく、Unix シグナルを受信しないことを意味します。
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
名前/省略形 | デフォルト | 説明 |
--signal , -s |
KILL |
コンテナーに送信するシグナル。 |
利用例
コンテナーへの KILL シグナルの送信
以下の例ではmy_container
という名前のコンテナーに対して、デフォルトのSIGKILL
シグナルを送信します。
$ docker kill my_container
コンテナーへの指定シグナルの送信
以下の例ではmy_container
という名前のコンテナーに対して、SIGHUP
シグナルを送信します。
$ docker kill --signal=SIGHUP my_container
シグナルの指定においては、シグナル名、シグナル番号を指定することができます。
プレフィックスSIG
は任意であるため、以下に示す例はいずれも同じになります。
$ docker kill --signal=SIGHUP my_container
$ docker kill --signal=HUP my_container
$ docker kill --signal=1 my_container
標準的な Linux のシグナル一覧については、man ページ signal(7)
を参照してください。
上位コマンド
コマンド | 説明 |
---|---|
docker | Docker CLI の基本コマンド |