Docker堆栈部署后缺少标记

时间:2017-04-25 17:11:37

标签: docker deployment docker-compose

除了新docker stack deploy之外,我正在研究新的docker compose v3命令,似乎arr几乎可以取代docker stack deploy

我找到的一个不同之处很奇怪,那就是正在运行的容器显示图像名称而不是标记。

检查撰写

这是在通过docker-compose up -d创建的容器上运行检查的剪辑。

docker-compose up -d

检查堆栈部署

这是在通过{ Command: "node server.js", Image: "styfle/notification-service:v1.0.0" } 创建的容器上运行检查的剪辑。

docker stack deploy -c docker-compose.yml --with-registry-auth=true tst

为什么{ Command: "node server.js", Image: "styfle/notification-service@sha256:827e6a274c5ee2b941dde402f82069c2da644927cac53c0b2cd5acacb739f949" } 中缺少标记(在本例中为后缀:v1.0.0)并且可以在其他地方找到它?我使用的是Docker CE 17.03.1-ce-win5(10743)。

1 个答案:

答案 0 :(得分:1)

Docker服务使用图像固定来确保swarm中的每个节点都运行相同的图像。如果替换标记或在不同节点上处于不同状态,则sha256摘要将确保仅使用创建服务时使用的v1.0.0版本。有关详细信息,请参阅docker's documentation on the subject