docker container kill
描述 | 杀死一个或多个正在运行的容器 |
---|---|
用法 | docker container kill [OPTIONS] CONTAINER [CONTAINER...] |
别名 | docker kill |
描述
docker kill
子命令用于杀死一个或多个容器。容器内的主要进程会被发送 SIGKILL
信号(默认),或者通过 --signal
选项指定的信号。您可以通过容器的 ID、ID 前缀或名称来引用容器。
--signal
标志设置发送到容器的系统调用信号。该信号可以是 SIG<NAME>
格式的信号名称,例如 SIGINT
,或者一个无符号数字,与内核 syscall 表中的位置相匹配,例如 2
。
虽然默认的 (SIGKILL
) 信号会终止容器,但通过 --signal
设置的信号可能是非终止的,具体取决于容器的主要进程。例如,在大多数情况下,SIGHUP
信号是非终止的,容器在接收到该信号后将继续运行。
注意
shell 形式的
ENTRYPOINT
和CMD
会作为/bin/sh -c
的子进程运行,后者不传递信号。这意味着可执行文件不是容器的 PID 1,因此接收不到 Unix 信号。
选项
选项 | 默认值 | 描述 |
---|---|---|
-s, --signal | 发送到容器的信号 |
示例
向容器发送 KILL 信号
以下示例向名为 my_container
的容器发送默认的 SIGKILL
信号
$ docker kill my_container
向容器发送自定义信号 (--signal)
以下示例向名为 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
请参考 signal(7)
手册页,获取标准 Linux 信号列表。