订阅博客
收藏博客
微博分享
QQ空间分享

docker registry push错误“server gave HTTP response to HTTPS client”

频道:Docker 标签: 时间:2017年11月13日 浏览:275次 评论:0条

系统环境:

CentOS Linux release 7.3.1611 (Core) 

Docker 版本:

Docker version 17.10.0-ce, build f4ffd25



    当执行如下命令上传镜像到私有仓库时,

docker push zz.8mi.cc:5000/wxypub/httpd:v1

    提示如下错误:

The push refers to a repository [zz.8mi.cc:5000/registry]
Get https://zz.8mi.cc:5000/v1/_ping: http: server gave HTTP response to HTTPS client


    这个问题是由于客户端默认采用https,docker registry 没有用https导致的,需要做对应的更改

    在docker版本1.12.3版本以前,可以通过修改/etc/sysconfig/docker,然后重启docker服务来解决这个问题

    但是在1.12.3以后,并没有/etc/sysconfig/docker这个文件,所以解决方法和前面版本不同

    解决方案:

    在 /etc/docker/目录下,创建daemon.json文件,文件内容如下

[root@localhost ~]# cat /etc/docker/daemon.json 
{ "insecure-registries":["zz.8mi.cc:5000"] }

    然后重启docker服务就可以了


    注意:重启docker服务后,检查一下registry这个容器服务是否正常

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。