docker container stop
| 描述 | 停止一个或多个正在运行的容器 |
|---|---|
| 用法 | docker container stop [OPTIONS] CONTAINER [CONTAINER...] |
| 别名 | docker stop |
描述
容器内的主进程将收到 SIGTERM,在宽限期后收到 SIGKILL。第一个信号可以通过容器的 Dockerfile 中的 STOPSIGNAL 指令,或 docker run 和 docker create 的 --stop-signal 选项进行更改。
选项
| 选项 | 默认值 | 描述 |
|---|---|---|
-s, --signal | 发送给容器的信号 | |
-t, --timeout | 在终止容器前等待的秒数 |
示例
$ docker stop my_container
使用信号停止容器 (-s, --signal)
--signal 标志向容器发送系统调用信号以退出。此信号可以是 SIG<NAME> 格式的信号名称,例如 SIGKILL,也可以是与内核系统调用表中的位置匹配的无符号数,例如 9。有关可用信号,请参阅 signal(7)。
使用的默认信号由镜像的 StopSignal 定义,可以在构建镜像时通过 STOPSIGNAL Dockerfile 指令设置,或在创建容器时使用 --stop-signal 选项配置。如果未为容器配置信号,则默认使用 SIGTERM。
使用超时停止容器 (-t, --timeout)
--timeout 标志设置在发送预定义(参见 [--signal]{#signal})系统调用信号后,等待容器停止的秒数。如果容器在超时时间过后仍未退出,则会强制使用 SIGKILL 信号将其终止。
如果将 --timeout 设置为 -1,则不应用超时,守护进程会无限期地等待容器退出。
默认超时可以通过在创建容器时使用 --stop-timeout 选项指定。如果容器未配置默认值,守护进程将确定默认值,对于 Linux 容器为 10 秒,对于 Windows 容器为 30 秒。