Docker:无法从远程私有注册表中提取映像
我有一个运行在Docker:无法从远程私有注册表中提取映像,docker,docker-registry,Docker,Docker Registry,我有一个运行在172.20.20.1上的私有注册表。从另一台机器上,我可以使用HTTP API检索注册表信息,例如: curl http:172.20.20.1:5000/v2/_catalog 很好 但我无法从注册表中提取图像: docker pull 172.20.20.1:5000/my_image 我得到504错误(超时) 据推测,我正在非安全模式下运行注册表。为此,我添加了/etc/default/docker: DOCKER_OPTS="--insecure-registry=1
172.20.20.1
上的私有注册表。从另一台机器上,我可以使用HTTP API检索注册表信息,例如:
curl http:172.20.20.1:5000/v2/_catalog
很好
但我无法从注册表中提取图像:
docker pull 172.20.20.1:5000/my_image
我得到504错误(超时)
据推测,我正在非安全模式下运行注册表。为此,我添加了/etc/default/docker
:
DOCKER_OPTS="--insecure-registry=172.20.20.1:5000"
并重新启动docker服务:sudo服务docker restart
,在运行docker的所有计算机中。我还需要做点什么吗
任何帮助都将不胜感激 我找到了解决办法
我已经通过DOCKER\u OPTS=“-D--tls=false--unsecure registry 172.20.20.1:5000”
更改了DOCKER\u OPTS=“--D--tls=false--unsecure registry 172.20.20.1:5000”
并重新启动
$ sudo restart docker
一切正常。我更喜欢在安全tls模式下运行我的私人注册表
docker run -d -p 5000:5000 --restart=always --name registry -v /path/to/certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/crt -e REGISTRY_HTTP_TLS_KEY=/certs/key registry:2
然后,我将证书添加到/etc/ssl/certs/ca certificates.crt
(对于boot2docker,我将该指令添加到
/var/lib/boot2docker/bootsync.sh
中,以便跨会话持久化该指令)
然后,我可以从任何机器推/拉到该注册表,而不会出现问题