“选项”是什么--“解析图像”;在;“docker stack”;确切的意思是?

“选项”是什么--“解析图像”;在;“docker stack”;确切的意思是?,docker,docker-swarm,Docker,Docker Swarm,文件是这样写的 查询注册表以解析图像摘要和支持的平台(“始终”|“更改”|“从不”) 但是每个值意味着什么呢?这些值意味着部署堆栈时图像条件的变化。例如,下面是要部署的非常小的堆栈: version: "3.3" services: redis: image: redis:3.2.8 docker stack deploy -c test.yaml --resolve-image changed test 上面的堆栈使用image condit

文件是这样写的

查询注册表以解析图像摘要和支持的平台(“始终”|“更改”|“从不”)


但是每个值意味着什么呢?

这些值意味着部署堆栈时图像条件的变化。例如,下面是要部署的非常小的堆栈:

version: "3.3"

services:

    redis:
        image: redis:3.2.8

docker stack deploy -c test.yaml --resolve-image changed test
上面的堆栈使用image condition=changes部署,这意味着如果docker在映像中发现任何更改,它将重新部署堆栈。因此,三个条件意味着:

1- always: always re-deploy irrespective of any changes
2- changed: only when if there are any changes in images
3- never: never irrespective of images changes

希望它能帮助您理解这一点。

如果我将redis:3.2.8更改为redis:3.2.9,则服务将重新部署为“始终”和“已更改”,而不是“从不”。但如果redis仍然是3.2.8,并且我上传了一个带有相同标签的新图像,我所说的图像条件=改变是指图像的散列值改变,然后这些条件就会触发。当您询问是否更改同一图像的标记时,它将更改图像的哈希值,从而触发条件。