为什么docker推送一直失败,出现“隧道连接失败”错误?

JFrog支持
2016-10-06 38

当没有为主机名使用-insecure-registry选项时,Docker推送一直失败,出现“隧道连接失败”错误。当反向代理端点拥有受信任的CA证书时,主机名就不需要使用“-insecure-registry”标记。

[root@TOCWCDS2IC ~]# docker push lvappi00173.bns:5000/ubuntu

推送是指一个存储库[lvappi00173.bns:5000/ubuntu]

无法ping注册表端点https://lvappi00173.bns:5000/v0/

v2 ping尝试失败,错误:Get https://lvappi00173.bns:5000/v2/:隧道连接失败

v1 ping尝试失败,错误:Get https://lvappi00173.bns:5000/v1/_ping:隧道连接失败


此错误在安装docker客户端的docker服务上启用代理设置的情况下出现。如果docker客户端运行在Red hat操作系统上,那么下面是启用代理设置的文件:


#猫/etc/systemd/system/docker.service.d / http-proxy.conf

(服务)

环境= " HTTP_PROXY = <代理地址>:8080 /”


要解决此问题,请禁用上述文件中的代理设置或为artifactory服务器主机添加NO_PROXY变量。下面是一个展示NO_PROXY选项的示例

# cat /etc/systemd/system/docker.service.d/http-proxy.conf

(服务)

环境="HTTP_PROXY=<代理地址>:8080/" "NO_PROXY = < artifactory_host >