docker stack中--resolve-image选项的具体含义及各取值说明
docker stack
--resolve-image 选项准确定义 该选项是Swarm模式下docker stack deploy部署流程的核心配置项,作用是控制部署环节中,Swarm管理器触发镜像远端解析行为的规则。解析动作的核心查询内容包括:镜像所属仓库中目标标签对应的不可变内容摘要、镜像支持的跨平台架构信息,Swarm会基于这些信息匹配符合运行条件的节点、拉取对应架构的镜像版本,避免仅依赖节点本地缓存的镜像信息出现调度偏差、版本不一致的问题。
三个可选取值的实际运行逻辑
always:无论本次stack部署的服务镜像配置是否发生变化,每次执行部署操作时都会强制向镜像对应的远端镜像仓库发起完整查询,绕过所有本地缓存的镜像元数据,直接获取最新的镜像摘要与平台支持信息,用这些信息创建或更新服务的容器配置。changed:该选项的默认运行模式,仅当本次部署配置中,服务关联的镜像标签、版本参数和上一次已生效的服务配置存在差异时,才会向远端镜像仓库发起解析查询;如果镜像相关配置完全没有改动,会直接沿用历史已解析完成的镜像元数据,不产生额外的仓库查询请求。never:整个部署、更新流程中完全不向远端镜像仓库发起任何解析查询,全程仅使用节点本地缓存的镜像元数据完成部署。这种模式下如果本地没有对应镜像、或本地缓存的镜像版本和远端最新标签内容不一致,Swarm会直接基于本地现有镜像完成部署,不会主动同步远端的版本变更。
内容的提问来源于stack exchange,提问作者xue zhang
相关产品推荐
相关产品推荐

