1.下载仓库镜像
2.创建私有仓库容器-d表示后台启动
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
3.防火墙解除5000端口限制
firewall-cmd --zone=public --add-port=5000/tcp --permanent
4.验证私有仓库是否启动成功
http://192.3.8.12:5000/v2
5.打包镜像
docker tag my-nginx:v1 192.168.56.200:5000/centos
6.把打包好的镜像上传到私有仓库
[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上下载私有仓库的镜像了。
docker pull 192.168.56.200:5000/centos
10.仓库镜像的备份和恢复。
直接定期备份/opt/data/registry,恢复是直接挂在到docker-registry镜像下启动即可。
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。