docker container stop

描述停止一个或多个正在运行的容器
用法docker container stop [选项] 容器 [容器...]
别名
docker stop

描述

容器内的主进程将接收 SIGTERM 信号,经过一段宽限期后,再接收 SIGKILL 信号。第一个信号可以通过容器 Dockerfile 中的 STOPSIGNAL 指令更改,或者通过 docker rundocker create 命令的 --stop-signal 选项进行配置。

选项

选项默认值描述
-s, --signal发送给容器的信号
-t, --timeout在杀死容器之前等待的秒数

示例

$ docker stop my_container

使用信号停止容器 (-s, --signal)

--signal 标志向容器发送系统调用信号以使其退出。此信号可以是 SIG<NAME> 格式的信号名称,例如 SIGKILL,也可以是与内核 syscall 表中位置匹配的无符号数,例如 9。有关可用信号的信息,请参阅 signal(7)

要使用的默认信号由镜像的 StopSignal 定义,这可以在构建镜像时通过 STOPSIGNAL Dockerfile 指令设置,或者在创建容器时使用 --stop-signal 选项配置。如果容器未配置任何信号,则默认使用 SIGTERM

使用超时停止容器 (-t, --timeout)

--timeout 标志设置了在发送预定义(参见 [--signal]{#signal})系统调用信号后,等待容器停止的秒数。如果在超时时间过后容器仍未退出,则会强制使用 SIGKILL 信号杀死它。

如果将 --timeout 设置为 -1,则不会应用超时,守护程序将无限期等待容器退出。

默认超时时间可以在创建容器时使用 --stop-timeout 选项指定。如果容器未配置默认值,则由守护程序确定默认值,Linux 容器为 10 秒,Windows 容器为 30 秒。