【发布时间】:2018-10-13 15:19:23
【问题描述】:
我正在使用 docker swarm mode host 将一些图像从我的注册表部署到我的应用程序服务器中:
我在注册表中的图像是这样的(执行docker images):
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost:5000/myApp G02R00C09_myTag c1fc2242f9a0 2 hours ago 272MB
在 my docker compose file 下,我的服务如下所示:
---
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>
【问题讨论】:
-
你是如何构建图像的(用于构建它的命令)?也可以试试
curl myRegistryServer:5000/v2/myApp/tags/list -v看看注册表是否显示你想要的标签。 -
我已经使用 ansible 的 docker_image 模块构建了它,它可以在注册表中成功标记图像
-
curl显示什么?应该是这样的。 -
> GET /ihm/tags/list HTTP/1.1 > 用户代理:curl/7.29.0 > 主机:myResgitryServer:5000 > 接受:/ >
-
为什么您的注册表无法访问?
标签: docker docker-compose dockerfile docker-swarm docker-registry