- 关于创建docker私人仓库
1.1. 安装步骤
1.1.1. 直接从公共库上面下载register镜像在本地执行
1.1.1.1. 命令:docker run -d -p 5000:5000 --name registry -v /opt/data/registry:/tmp/registry registry
1.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 172.16.40.203:5000”均无效
1.2.2.2. 多次试验无果之后尝试新的方法,因为了解了docker运行的和心原理。最后只在客户端的/etc/docker目录下添加一个json文件,daemon.json,然后成功。
{
"insecure-registries": ["172.16.40.203:5000"]
}
1.3. 在私人仓库里面搜索镜像也出错:Unexpected status code 404 #搜索docker镜像的时候返回404错误,找不到镜像。
1.3.1. 查看官方文档,当前版本不支持搜索,可以利用V2版本尝试。
1.3.1.1. docker run -d -p 5000:5000 --name registry -v /opt/data/registry:/tmp/registry registry:2
1.3.2. 还是不能提供搜索功能,同样不能搜索,还是一样的错误。官方文档说的是,可以支持API。尝试一下
1.3.2.1. 搜索列表示例:http://172.16.40.203:5000/v2/_catalog
1.3.2.2. 搜索标签列表:http://172.16.40.203:5000/v2/smokeping/tags/list
探究了两天的私人仓库终于能用起来了,期间遇到了不少问题,通过查看官方文档解决,就没有一一记录下来了。彻底针对使用国外docker仓库特别慢的问题,同时保证了镜像的安全性,公共的docker仓库只能设置一个为私有,其他都必须公开,很容易泄露一些工作上忌讳的东西。听说在阿里云的云栖大会上docker官方和阿里云达成合作,在中国创建国内的docker公共仓库。功能上,我们拭目以待。但是,自己拥有私人仓库,才有资本去拭目去等待。没有认证的私人仓库是入门的,真正应用到日常的那个工作中的私人仓库还需要后续再写文章实现认证功能,保障安全。