离线搭建自已的私有docker仓库V2版
如果需要V1版本的搭建请参考以下连接
https://www.qnjslm.com/ITHelp/413.html
本次来说明V2版本的搭建,V2版本官方已不在提供安装文件,既然自己就是容器,为什么还要搞那么麻烦了,所有V2版本直接提供的容器,导入即可使用
那么首先我们需要先安装docker,不特别说明,百度遍地都是教程
安装完成后
如果docker服务器可以连接internet 那么直接运行以下命令就会启动一个仓库
docker run -d -p 5000:5000 --name alex_registry registry:2
但有时候我们的环境无法连接到互联网,这个时候我们就需要离线进行部署了,原理很简单,我们在能连接网络的环境上把容器下载下来,导入到离线环境中,然后在启动
1、获取registry容器镜像,在一台可以连接internet的docker服务器上操作
下载registry
docker pull registry:2
下载完成后我们查看下docker的镜像文件
docker images
保存容器文件到本地文件
docker save -o alex_registry.tar registry
如果大家还是不方便做以上操作,那么我这里提供一个我导出的文件下载地址
链接:http://pan.baidu.com/s/1eRV4WOq 密码:dnxs
其他的容器镜像都是这种方法导出
2、把准备好的容器文件上传到离线环境的docker服务器上
方法自己选择,FTP\SFTP\scp ……
4、使用docker加载我们导出镜像文件
[root@registry opt]# docker load < alex_registry.tar
5、查看导入的镜像文件
docker images
6、好了这里我们就可以启动registry容器了
注意因为我这里已经部署一个V1版本的registry,5000端口已经被V1占用,
为了方便这里我直接把5001端口映射到V2版本的registry上
docker run -d -p 5001:5000 --name alex_registry alex/registry-www.opskb.com
7、查看容器运行状况
[root@registry opt]# docker ps
8、通过curl命令来验证registry,如果我们看到一队花括号表示已经OK
[root@registry opt]# curl http://localhost:5001/v2/
{}[root@registry opt]#
9、进行镜像上传测试没有问题
[root@registry opt]# docker push alex/registry-www.opskb.com
The push refers to a repository [192.168.150.200:5001/alex/registry-www.opskb.com] (len: 0)
f47542c26c16: Image already exists
35be66c161e3: Image successfully pushed
902c0b6860f8: Image successfully pushed
93c88f64ec03: Image successfully pushed
c293bc66db68: Image successfully pushed
Digest: sha256:6532fbcfdd73746ae5370ae9f86f3a1c582314b7d02f9f033806a653ca9a3a6e
[root@registry opt]#
10、V2版本中私有的仓库无法在使用search进行查看了,我们可以使用curl来查看
curl -X GET http://127.0.0.1:5001/v2/_catalog
以上只是简单的运行,请勿在生产环境中这么使用,生产环境中请使用服务模式注册运行。
- 本文标签: 杂谈
- 本文链接: http://www.iamlk.cn/article/67
- 版权声明: 本文由Leonidax原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权