我们在 artifactory 中创建了一个私有(private)的 docker registry。 我们的 artifactory 是一个独立的安装,并将 Nginx 作为网络服务器。 SSL 证书受信任并且工作正常。
在 docker 客户端上,我已将 ca.crt 复制到/etc/docker/certs.d/:5001/ 当我尝试从我的 docker 客户端登录或推送图像时,我看到以下错误。
[root@cds-dev-test ~]# docker login artifactory.host:5001 用户名:raj 密码: 邮箱:raj@gmail.com 来自守护进程的错误响应:无效的注册表端点
https://artifactory.host:5001/v0/ : 无法 ping 注册表端点
v2 ping 尝试失败并出现错误:获取 https://artifactory.host:5001/v2/ : 隧道连接失败
v1 ping 尝试失败,出现错误:Get artifactory.host:5001/v1/_ping: 隧道连接失败。如果此私有(private)注册表仅支持具有未知 CA 证书的 HTTP 或 HTTPS,请将 --insecure-registry artifactory.host:5001
添加到守护程序的参数中。在 HTTPS 的情况下,如果您可以访问注册表的 CA 证书,则不需要标志;只需将 CA 证书放在/etc/docker/certs.d/artifactory.host:5001/ca.crt
我的 docker 版本是 1.9.1,artifactory 版本是 4.4.3。
当我使用 --insecure-registry 选项但不是安全方式时,它会起作用。我们已准备好所有受信任的证书,但仍然会看到错误。
我试过在 docker 客户端上使用代理设置,也尝试过不使用代理...总是出现同样的错误。
有什么帮助吗?
最佳答案
我想通了。
我的 docker deamon 下有代理设置。我添加了 No_Proxy,它工作正常。
仅供引用.... 所以如果你使用的是受信任的 CA 证书,并且你的网络在代理后面,请确保你的 docker 服务文件没有代理设置,如果它确实添加了 No-proxy=artifactory.host。
/etc/systemd/system/docker.service.d/http-proxy.conf
谢谢
关于ssl - 登录 artifactory docker registry 时出现隧道连接失败错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36159548/