Docker 守护进程停止 - 容器默认超时 10 秒

not*_*-jj 8 mysql docker influxdb

docker stop标准超时为 10 秒(参考 - Docker Stop)。这个时间窗口可能是关闭 mysql 或 influxdb 以在文件系统上达到一致状态的短时间。如果我手动停止容器,我会用docker stop -t 60 mysql. 但这不是默认情况。容器处于自动重启状态,并通过 docker 守护进程启动和停止。

如果我停止 docker 守护进程(例如在系统重新启动时),守护进程将停止所有正在运行的容器,超时为 10 秒,这会导致 dbs 不一致。

问题:有没有办法设置全局超时docker stop或守护进程停止?

2016年 5 月 3 日更新:在 github 上添加了[功能请求] 添加配置参数以更改容器的停止超时或全局 #22471

lcg*_*ogo 5

https://docs.docker.com/engine/reference/commandline/dockerd/

使用以下配置

--shutdown-timeout int            Set the default shutdown timeout (default 15)
Run Code Online (Sandbox Code Playgroud)

或者像下面一样把它放在 docker daemon.json 中并重新启动 docker daemon

tee /etc/docker/daemon.json <<-'EOF'
{
  "shutdown-timeout": 30,
  "live-restore": true
}
EOF
systemctl restart docker
systemctl status docker
Run Code Online (Sandbox Code Playgroud)


Ken*_*ane 1

我很确定没有一个全局设置可以做到这一点。这将是一个很好的功能,您应该提交一个问题来建议它,如果您有时间提交一个拉取请求来实现。