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
中,以便跨会话持久化该指令)

然后,我可以从任何机器推/拉到该注册表,而不会出现问题