[英]Docker: Unable to pull image from remote private 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=172.20.20.1:5000"
并重新启动docker服务: sudo service docker restart
,在所有运行docker的机器上。 我需要做更多的事情吗?
任何帮助将不胜感激。
我找到了解决方案!
我通过DOCKER_OPTS="-D --tls=false ---insecure-registry 172.20.20.1:5000"
更改了DOCKER_OPTS="--insecure-registry=172.20.20.1:5000"
DOCKER_OPTS="-D --tls=false ---insecure-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
中添加了该指令,以使该指令在所有会话中都具有持久性)
然后,我可以从任何计算机上将其推/拉到该注册表,而不会出现问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.