docker工人:无法从远程私人registry中拉出图像
我有一个私人的registry172.20.20.1
运行。 从另一台机器上,我可以使用HTTP API检索registry信息,例如:
curl http:172.20.20.1:5000/v2/_catalog
工作正常。
但是我无法从该registry中提取图像:
docker pull 172.20.20.1:5000/my_image
我得到504错误(超时)。
据说,我以非安全模式运行registry。 为此,我添加了/etc/default/docker
:
DOCKER_OPTS="--insecure-registry=172.20.20.1:5000"
并重新启动docker服务: sudo service docker restart
,在运行docker的所有机器。 我需要做更多的事吗?
任何帮助将不胜感激。
我更喜欢在安全tls模式下运行我的私人registry。
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
然后,我(在每个其他机器不得不从该registry中)将证书添加到/etc/ssl/certs/ca-certificates.crt
。
(使用boot2docker,我在/var/lib/boot2docker/bootsync.sh
中添加该指令,以便在会话中保持持久性)
然后,我可以从任何机器推送/拉到该registry没有问题。
我find了解决scheme!
我已经通过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
一切正常。