Docker 私有仓库,上传镜像报错: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
方法二:
解决办法:
在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:
{
"insecure-registries": [
"hub.docker.jiankunking.io:5000"
]
}
//多个私服写法,逗号分隔即可
{
"insecure-registries": [
"test.docker.jiankunking.io:5000",
"hub.docker.jiankunking.io:5000"
]
}