镜像推送时出现 server gave HTTP response to HTTPS client 问题的解决方法

https://www.jianshu.com/p/a6a0b5d07508

1)原因分析

因为 Docker 引擎默认通过 https 协议与 Docker Registry 通信,所以如果搭建的Docker 私有镜像库是 http 协议的话,就会输出上述日志。

(2)解决

在虚拟机中,修改 /usr/lib/systemd/system/docker.service 中的 ExecStart 选项,加入 --insecure-registry {docker 私有镜像库 IP} --ipv6=false,,加入--insecure-registry 与 --ipv6 属性。形如:


[Service]

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock --insecure-registry 192.168.x.xxx:8080 --ipv6=false

{docker 私有镜像库 IP} 指的是 docker 私有镜像库的 IP 地址。

最后运行以下两条命令,重启 Docker 引擎:


systemctl daemon-reload

systemctl restart docker


作者:deniro
链接:https://www.jianshu.com/p/a6a0b5d07508
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文地址:https://www.cnblogs.com/chinasoft/p/15424727.html