我使用 docker swarm mode hos 来将我的注册表中的一些图像部署到我的应用服务器中:
我在注册表中的图像看起来像这样(执行docker images
):
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost:5000/myApp G02R00C09_myTag c1fc2242f9a0 2 hours ago 272MB
在我的docker撰写文件下,我的服务如下所示:
---
version: '3.4'
services:
ihm:
image: myRegistryServer:5000/myApp:G02R00C09_myTag
stdin_open: true
volumes:
- /opt/logs:/opt/logs
tty: true
ports:
- target: 80
published: 80
protocol: tcp
mode: host
deploy:
mode: global
placement:
constraints:
- node.labels.type == abc
healthcheck:
disable: true
执行docker stack deploy
后- > :
我的堆栈和服务运行良好(当我运行docker stack ls
和docker service ls
时,一切正常)
- > ,但在运行docker images
时,我的图片但是 <none>
标记:
image: myRegistryServer:5000/myApp <none>
答案 0 :(得分:1)
这很正常。使用Swarm堆栈时,它会将您的标记转换为该图像的SHA256并下载该特定ID。这可以保证每个节点具有相同的图像。如果它只依赖于标记,则可能会在workflows
中重复使用该标记,并且不同节点可以下载不同的图像。
您可以看到docker push
或docker service ls