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

(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

你可能感兴趣的:(镜像推送时出现 server gave HTTP response to HTTPS client 问题的解决方法)