docker container stop

描述停止一个或多个运行中的容器
用法docker container stop [OPTIONS] CONTAINER [CONTAINER...]
别名
docker stop

描述

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

选项

选项默认描述
-s, --signal发送到容器的信号
-t, --time杀死容器前等待的秒数

示例

$ docker stop my_container

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

--signal 标志向容器发送系统调用信号以退出。 该信号可以是格式为 SIG<NAME> 的信号名称,例如 SIGKILL,或者是与内核系统调用表中位置匹配的无符号数字,例如 9。请参阅 signal(7) 了解可用信号。

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

停止容器并设置超时时间 (-t, --timeout)

--time 标志设置了在发送预定义(参见 [--signal]{#signal)) 系统调用信号后等待容器停止的秒数。如果超时后容器仍未退出,它将被 SIGKILL 信号强制终止。

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

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