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 の基本コマンド