docker私有仓库的搭建和使用详解

1.下载仓库镜像

docker pull registry

2.创建私有仓库容器-d表示后台启动

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

docker私有仓库的搭建和使用详解

3.防火墙解除5000端口限制

firewall-cmd --zone=public --add-port=5000/tcp --permanent

4.验证私有仓库是否启动成功

http://192.3.8.12:5000/v2

docker私有仓库的搭建和使用详解

5.打包镜像

docker tag my-nginx:v1 192.168.56.200:5000/centos

docker私有仓库的搭建和使用详解

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

docker私有仓库的搭建和使用详解

这个问题可能是由于客户端采用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改了之后保存,然后重启就可以了。)

docker私有仓库的搭建和使用详解

8.查看私有仓库中的镜像
http://192.3.8.187:5000/v2/_catalog

docker私有仓库的搭建和使用详解

9.这样就在server2上下载私有仓库的镜像了。

docker pull 192.168.56.200:5000/centos

docker私有仓库的搭建和使用详解

10.仓库镜像的备份和恢复。

直接定期备份/opt/data/registry,恢复是直接挂在到docker-registry镜像下启动即可。

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

相关推荐