繁体   English   中英

Docker:无法从远程私有注册表中提取图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM