我设置了一个私有注册表,它运行良好。码头工人 1.10。我选择更改主机,并重新创建证书。在我的服务器上一切正常,但在我的客户服务器上,我无法将图像推送到注册表:
unable to ping registry endpoint https://my.customer.private.hostname:5000/v0/
v2 ping attempt failed with error: Get https://my.customer.private.hostname:5000/v2/: Forbidden
v1 ping attempt failed with error: Get https://my.customer.private.hostname:5000/v1/_ping: Forbidden
我在谷歌上找不到其他人谈论“禁止”的答案。我在哪里可以搜索了解?我已经删除了容器,图像,卸载了 docker,重新安装了 docker,但仍然是同样的错误。我唯一没有删除的是用于存储 docker 数据的瘦池(devicemapper)。
docker 有一个 systemd conf 文件:
和
注册表 IP 不是 localhost,所以我需要将主机添加到 NO_PROXY 变量。我仍然不明白为什么第一个主机工作。在不使用 https(仅限 http)的情况下重新启动注册表容器并使用 tcpdump 可以帮助我们解决此问题。
对我来说,很奇怪 docker 试图通过 https 到达 5000 端口,然后你用 http 对同一个端口进行了 curl 并且它起作用了。
可能你正在做:
docker pull my.customer.private.hostname:5000 xxx/yyy
而不是docker pull my.customer.private.hostname xxx/yyy
问候