docker服务更新与docker堆栈部署与现有的堆栈
我有一个使用docker swarm模式命令来更新现有的服务,使用docker stack deploy
部署了一组服务之后,有一个疑问。 据我了解,每个服务都被固定在创build时的图像的SHA256摘要,所以如果你重build并推送一个图像(具有相同的标签),并尝试运行docker service update
,服务图像不会更新(即使SHA256不同)。 相反,如果您再次运行docker stack deploy
,则所有服务都将使用新映像进行更新。 我设法通过使用docker service update --image repository/image:tag <service>
来更新服务镜像。 这是这些命令的正常行为还是有我不明白的东西?
我使用的是Docker 17.03.1-ce
Docker堆栈部署文档说:“从群上的一个组合文件或一个DAB文件创build和更新一个堆栈,这个命令必须以一个pipe理器节点为目标运行。 所以你描述的行为是预期的。
Docker服务更新文档不是很清楚,但你自己说,它只能运行--image repository/image:tag <service>
所以标志是必要的,以更新--image repository/image:tag <service>
。
你有两种方法来完成你想要的。
- 如何使用Jenkins Pipeline插件启用SCM轮询
- 从9.3.10(Ubuntu 14.04.3 LTS)Dockerfile升级postgre sql 9.4.5
- Docker exec – 将文本写入容器中的文件
- 在Dockerrun.aws.json中做什么“日志logging”?
- docker工具复制遗漏了一些文件
- 如何重builddocker-compose.yml中的docker容器?
- Python远程debugging器不会在VS代码中debugging我的代码
- Dockerized PostgreSQL:psql:致命:数据库系统正在启动
- 将魔术string部署到泊坞窗时,会将其设置为SPRING_CONFIG_NAME