我之前在Mac上搭建过私服,有兴趣可以看我上上文章,我在这里linux再次搭建一次,并遇到上传时候https遇到的拒接连接问题

一:linux下仓库搭建

1、下载私服仓库

docker pull registry

2、启动

## docker run -d -p 3010:5000 -v /opt/data/docker/registry/:/var/lib/registry registry
-d后台运行   -p表示端口绑定 主机端口:容器端口  -v把registry的镜像路径/var/lib/registry映射到本机的/opt/data/docker/registry/

3、这个时候就有一个镜像启动了,如下

4、测试:http://ip:3010/v2/_catalog

到这里就结束了,仓库搭建

二:上传镜像到私服

1、下载一个例子,因为这个小,节省流量测试

docker pull busybox

2、修改名字,ip自己根据自己主机设置

docker tag busybox:latest ip:3010/busybox

3、上传

docker push ip:3010/busybox

报错

http: server gave HTTP response to HTTPS client

为啥

这个问题可能是由于客户端采用https,docker registry未采用https服务所致。一种处理方式是把客户对地址“192.168.1.100:5000”请求改为http。

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

解决方法:

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


{ "insecure-registries":["自己IP:仓库主机端口"] }

2、重启

systemctl restart  docker

3、上传

docker push 主机端口:3010/busybox

 

再次访问浏览器,就有了这个镜像

这样就大功告成了!!!喜欢点个收藏

 

 

 

个人博客:
名称:纯洁的麦田
链接:http://www.idearyou.cn/
描述:争取哪一天做上架构师
公众号:纯洁的麦田

另外:个人公众号,每天有新java文章,还有中高级面试题分享

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐