今天刚在win10下安装好Docker,准备用idea+Docker部署项目上线。
虽然创建容器成功,但在push镜像时,
出现了Get “https://192.168.1.50:5000/v2/”: http: server gave HTTP response to HTTPS client错误。
就是右下角这个错误
一顿百度之后,发现是因为:Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交互时出现以上错误。
之所以会这样,是因为 HTTPS 连接来访问 Docker 仓库更加安全。如果可以,在生产环境中,尽量尝试配置私有仓库以支持 HTTPS,并将 Docker 客户端配置为与之一致。
这里贴一下相关链接:https://www.cnblogs.com/programmer-tlh/p/10996443.html
但因为我是基于windows下安装的Docker,并非Linux。
所以以下是三种基于Windows的解决方法
1、更改Docker仓库URL为HTTP
1)WIN+R,打开powershell窗口,使用以下命令来更改Docker仓库URL 为 HTTP
docker context use default --insecure-registry="http://192.168.1.50:5000"
2、使用 Docker 配置文件
1)找到C:\Users\bicong.su.docker目录,也就是用户主目录的.docker文件夹,里面有一个config.json文件
2)打开文件,查找并编辑 “insecure-registries” 部分,将你的仓库 URL 添加到其中,也就是下面这段代码
{
"insecure-registries": ["http://192.168.1.50:5000"]
}
3)保存文件,重启Docker就可以了
3、配置 Docker Desktop 设置(笔者用的这个方法)
1)打开Docker Desktop
2)点击右上角的设置图标
3)左侧导航栏选择"Docker Engine"
4) 在配置文件中添加以下内容
{
"insecure-registries": ["http://192.168.1.50:5000"]
}
5) 保存后,重新启动 Docker Desktop
6)如图