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

系统环境:centos7

docker版本: 1.12.3(注意版本,可能存在不同版本设置不同的情况)

docker registry版本:2.4.1

问题:

成功安装docker registry,在浏览器中输入http://192.168.1.100:5000/v2,成功返回json数据。在push 到docker registry时,报:

[[email protected] sysconfig]# docker push 192.168.1.100:5000/registry:2.4.1
The push refers to a repository [192.168.1.100:5000/registry]
Get https://192.168.1.100:5000/v1/_ping: http: server gave HTTP response to HTTPS client

这个问题可能是由于docker registry 未采用https服务所致。

很多文章都是通过修改docker的配置文件“etc/systemconfig/docker",重启docker来解决这个问题。但发现docker1.12.3版本并无此文件,根据网上创建此文件,并填入相应内容,重启docker无效果,仍然报此错误。

解决方法:

在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:

{ "insecure-registries":["192.168.1.100:5000"] }

保存退出后,重启docker。问题解决:

[[email protected] docker]# docker push 192.168.1.100:5000/registry:2.4.1
The push refers to a repository [192.168.1.100:5000/registry]
ee8e809cfde5: Pushed
ba20d499f984: Pushed
705e35f12f24: Pushed
42755cf4ee95: Pushed
2.4.1: digest: sha256:b66c4af9577744ae6d32e975808230e2ff558a5d50a7968d5102a900e147f3d5 size: 1158

参考文章:

http://stackoverflow.com/questions/38695515/can-not-pull-push-images-after-update-docker-to-1-12

时间: 11-28

centos7 docker registry push错误“server gave HTTP response to HTTPS client”的相关文章

用Docker Registry 建立私有镜像库

1 环境 2 步骤 3 FAQ 4 参考 环境 ubuntu-16.04-desktop-amd64.iso 步骤 具体可参考博文,在我的环境实施成功,在此借花献佛了:http://www.cnblogs.com/lienhua34/p/4922130.html FAQ 上面的博文唯一对push失败的解决方案,在我的环境里不生效, 错误提示如下: [email protected]:/etc/default# sudo docker push 192.168.80.130:5000/hello-

Docker Registry v2 + Token Auth Server (Registry v2 认证)实例。

关于Registry 对于registry v1 --> v2中,其中的原理.优化等,这里不再做一一介绍.这里有篇文章我瞄过几眼应该是比较不错的介绍文章了:http://dockone.io/article/747 . Registry v2 token机制 官方document:https://docs.docker.com/registry/spec/auth/token/ 目前docker registry v2 认证分为以下6个步骤: 1. docker client 尝试到regist

在CentOS 6上搭建私有的Docker Registry

在CentOS 6上搭建私有的Docker Registry v2Registry概念Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image.依赖安装1. 安装Docker要使用Docker Registry, 当然首先要安装Docker. 假设你已经安装好Docker. 没有安装好可以参考官方文档.2. 安装Docker-composeDocker-compose是一个非常有用的Docker运行, 管理的工具. 你可以通过定义compose文件,

docker registry v2 nginx

Docker registry V2 nginx 搭建 一 环境 俩台centos 7 64位 Docker 版本 Client: Version:      1.8.2 API version:  1.20 Package Version: docker-1.8.2-7.el7.centos.x86_64 Go version:   go1.4.2 Git commit:   bb472f0/1.8.2 Built: OS/Arch:      linux/amd64 Server: Vers

Docker Registry V2(distribution) & Proxy(nginx) 的搭建经历

Docker Registry V2 问世后,简单实用的确不错,不过等将端口5000更改成其他后,或者使用域名绑定后就错误百出.这里详细的将自己的经历过程做一个记录. 一.Docker Registry V2(distribution) 的安装. 这里我选择了使用官方提供的镜像去进行安装,也许你会感觉这很EASY,不屑一顾.不过,对一个运维人员来说,注重的是应用,注重的是registry中的镜像.而不是注重花哨的搭建过程.而我们注重的,registry 镜像都能满足我们的需求. # docke 

为 Docker Registry 增加 Nginx 前端

其实Docker Registry 就是一个API backend,所以加一个Nginx前端有大大的好处,比如docker push 时增加用户名密码验证. 怎么加?请参考以下nginx配置 upstream docker-registry { server 127.0.0.1:5000; } server { listen 80; server_name index.bestinet.com; client_max_body_size 0; chunked_transfer_encoding

内网部署支持ssl的docker registry

首先需要使用域名或主机名制作证书,自签证书在内网可以使用,因为内网可排除信任问题,自签证书流程可以参考使用自签的证书配置nginx的https. 证书制作完成我们开始部署registry,当前registry v2版已经发布,所以我们使用v2版部署测试,部署之前需要运行docker daemon 1.将制作好的证书copy到/etc/docker/certs.d/${domain}/ca.crt中,注意目录中的domain是registry的域名或主机名,同时也是制作证书时的输入的Common

部署内网Docker Registry

目前docker 已经分为社区版 (docker CE)和 商业版(docker EE),最新的版本由原来的1.13直接跳到了17.06,目前由于17.06的刚刚发布,在使用Docker 的时候可以根据自己的需求选择相应的版本. Docker 安装 先移除其他非官方的版本: yum -y remove docker docker-common container-selinux yum -y remove docker-selinux 添加yum源,这里选择1.13的版本: yum instal

使用harbor配置docker registry

前面连说了几篇与kubernetes相关的内容,这篇我们来说说docker registry.docker的registry与kubernetes本身并没有太直接的关系.但是任何使用到docker的地方,总少不了这玩艺儿.所以这篇博文我们专门来说一说如何使用开源的harbor来配置管理我们的私有registry. harbor官方是这么描述harbor的:Harbor是可靠的企业级Registry服务器.企业用户可使用Harbor搭建私有容器Registry服务,提高生产效率和安全度,既可应用于