【发布时间】:2019-03-11 13:59:52
【问题描述】:
我在集群模式下运行 Docker,集群中有多个节点。 根据此处编写的文档:https://docs.docker.com/engine/reference/commandline/service_update/ 和此处:https://docs.docker.com/engine/reference/commandline/service_create/,--stop-grace-period 命令设置强制杀死容器之前的等待时间。
预期行为 - 我的预期是 Docker 在滚动更新期间会等待这段时间,直到它尝试停止正在运行的容器。
实际行为 - Docker 会在几秒钟后发送终止信号,带有新版本镜像的新容器启动。
重现行为的步骤
- docker service create --replicas 1 --stop-grace-period 60s --update-delay 60s --update-monitor 5s --update-order start-first --name nginx nginx:1.15.8
- 等待服务启动容器(大约 2 分钟)
- docker 服务更新--image nginx:1.15.9 nginx
- 码头工人ps -a
- 如您所见,新容器已启动,一秒钟后, 旧的被 Docker 杀死了。
知道为什么吗?
我还在 Github 上打开了一个问题,在这里:https://github.com/docker/for-linux/issues/615
【问题讨论】:
标签: docker docker-swarm