1.下载仓库镜像
1
|
docker pull registry |
2.创建私有仓库容器-d表示后台启动
1
|
docker run -d -p 5000:5000 - v /opt/data/registry : /var/lib/registry registry |
3.防火墙解除5000端口限制
1
|
firewall-cmd --zone=public --add-port=5000 /tcp --permanent |
4.验证私有仓库是否启动成功
http://192.3.8.12:5000/v2
5.打包镜像
1
|
docker tag my-nginx:v1 192.168.56.200:5000 /centos |
6.把打包好的镜像上传到私有仓库
1
2
3
|
[root@server1 ~] # docker push 192.168.56.200:5000/centos the push refers to a repository [192.168.56.200:5000 /centos ] get https: //192 .168.56.200:5000 /v1/_ping : http: server gave http response to https client |
这个问题可能是由于客户端采用https,docker registry未采用https服务所致。一种处理方式是把客户对地址“192.168.56.200:5000”请求改为http。
解决方法:
在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入: { "insecure-registries":["192.168.56.200:5000"] }
保存退出后,重启docker。
7.再次上传又出来了问题,是因为selinux没有关。(使用setenforce 0 命令设置临时关闭,也可以vi /etc/sysconfig/selinux把里边的一行改为selinux=disabled改了之后保存,然后重启就可以了。)
8.查看私有仓库中的镜像
http://192.3.8.187:5000/v2/_catalog
9.这样就在server2上下载私有仓库的镜像了。
1
|
docker pull 192.168.56.200:5000 /centos |
10.仓库镜像的备份和恢复。
直接定期备份/opt/data/registry,恢复是直接挂在到docker-registry镜像下启动即可。
1
|
docker run -d -p 5000:5000 - v /opt/data/registry : /var/lib/registry registry |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.51cto.com/14033037/2309066