创建docker私人仓库
1.1. 安装docker1.2. 关于push的失败
1.2.1. 提示:http: server gave HTTP response to HTTPS client
原因:docker push使用的是https,而私人仓库默认的是http
1.2.2. 排错
1.2.2.1. 在服务端的/etc/init/docker.conf和/etc/default/docker上面配置“--insecure-registry 192.168.1.20:5000”均无效
1.2.2.2. 多次试验无果之后尝试新的方法,因为了解了docker运行的和心原理。最后只在客户端的/etc/docker目录下添加一个json文件,daemon.json,然后成功。
1.2.2.3. ]# vim /etc/docker/daemon.json
{"insecure-registries": ["192.168.1.20:5000"]
}
:wq
1.2.2.3. 添加配置后,记得重启docker服务,有些系统版本需要先停止服务再添加daemon.json后重启!!!
1.2.3.1. ]# docker run -d -p 5000:5000 registry //启动私有仓库
1.2.3.2. ]# docker tag busybox:latest 192.168.1.20:5000/busybox:latest //打包镜像
1.2.3.3. ]# docker push 192.168.1.20:5000/busybox:latest //上传镜像
1.2.4.1. ]# docker images //查看一下本地镜像
1.2.4.2. ]# scp /etc/docker/daemon.json 192.168.1.21:/etc/docker/ //懒人做法,给测试机的配置文件
1.3. 在私人仓库里面搜索镜像也出错:Unexpected status code 404 #搜索docker镜像的时候返回404错误,找不到镜像。
1.3.1. 查看官方文档,当前版本不支持搜索,可以利用V2版本尝试。
1.3.1.1. ]# curl http://192.168.1.20:5000/v2/_catalog //查询私有仓库里面的镜像
{"repositories":["busybox"]}
1.3.1.2. ]# curl http://192.168.1.20:5000/v2/busybox/tags/list //查询私有仓库里面的镜像标签
{"name":"busybox","tags":["latest"]}
测试机
2.1. ]# systemctl stop docker.service //停止服务
2.1.1. ]# vim /etc/docker/daemon.json //增加配置文件
{
"insecure-registries":["192.168.1.20:5000"]
}
:wq
2.1.2. ]# systemctl start docker.service //重启服务
2.1.3. ]# docker run -it 192.168.1.20:5000/busybox:latest //测试效果
以上是本人自学的一个课程例子,
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/dxt16888/article/details/80868475