Docker stack deploy没有部署,因为它的镜像标签相同

k4emjkb1  于 12个月前  发布在  Docker
关注(0)|答案(1)|浏览(84)

当我尝试在docker swarm中部署一个堆栈时,其中的镜像与部署的镜像具有相同的标签/版本,docker不会使用新镜像进行部署或更新(尽管不同,但具有相同的版本/标签,我知道这是不正确的,我一直在努力使用具有不同标签的不可变镜像,但是,同时我必须继续)。
即使镜像有相同的标签,也有办法强制部署它吗?我需要它没有停机时间,所以,使用Docker删除堆栈XXX对我来说没用
谢谢

r55awzrz

r55awzrz1#

Docker swarm(stack deploy和service create/update)拉取镜像元数据,并使用sha 256哈希更新service tasks镜像引用。这意味着swarm将重新部署,即使在公共标签如:latest已更改的情况下。
如果你不想要这种行为,你需要通过传递一个非默认值alwaysdocker stack deploy --resolve-image <always|changed|never> ...来抑制这种行为。如果你想要默认行为,那么就把它去掉,或者如果必须的话,传递always

相关问题