Docker 堆栈部署未部署,因为它具有相同的镜像标签

问题描述 投票:0回答:1

当我尝试在 docker swarm 中部署一个堆栈时,其镜像与已部署的镜像具有相同的标签/版本,docker 不会使用新镜像进行部署或更新(尽管不同,但具有相同的版本/标签,我知道这是不正确的,我正在努力始终拥有带有不同标签的不可变图像,但是,同时我必须继续)。

即使镜像具有相同的标签,是否也必须强制部署它?我需要它而不需要停机,所以,使用 docker delete stack XXX 这对我来说没有用

谢谢

docker docker-swarm
1个回答
0
投票

Docker swarm(堆栈部署和服务创建/更新)提取映像元数据并使用 sha256 哈希更新服务任务映像引用。这意味着即使在 :latest 这样的通用标签被更改的情况下,swarm 也会重新部署。

您需要通过将默认值

always
以外的值传递给
docker stack deploy --resolve-image <always|changed|never> ...

来抑制此问题
© www.soinside.com 2019 - 2024. All rights reserved.