swarm mode 下 运行 docker stack deploy 命令 pull 下来的 image tag 为none
Posted nieqibest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swarm mode 下 运行 docker stack deploy 命令 pull 下来的 image tag 为none相关的知识,希望对你有一定的参考价值。
首先是在公司的测试环境上发现了这个现象,网上search了一番,这个并不是错误,而是swarm下的一种机制:
当使用 Swarm Stacks时,为了保证Service的副本在每个节点上运行的是相同的镜像,
Swarm采用的是一种叫 Pinning-by-Digest的策略,
而不是根据镜像的tag来使用镜像。
Service会将你指定的镜像tag转换成digest id,并使用这个digest去拉取镜像。
使用 docker service ls 可以查看各个服务使用的镜像版本。
生产实践中最好不要用lastest的镜像tag,可以使用v2.1.0这样的命名。
参考:https://github.com/moby/moby/issues/28908
https://success.docker.com/article/images-tagging-vs-digests
以上是关于swarm mode 下 运行 docker stack deploy 命令 pull 下来的 image tag 为none的主要内容,如果未能解决你的问题,请参考以下文章
Docker Swarm 和Swarm mode 是两个概念!