概念讲解
1.仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 国内的公开仓库包括 Docker Pool等,可以提供大陆用户更稳定快速的访问。
2.当然,用户也可以在本地网络内创建一个私有仓库。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。
3.私有仓库的优势:
(1)有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,
(2)使用私有仓库可以节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可。而且提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。
(3)Docker官方提供的工具docker-registry可以用于构建私有的镜像仓库。
实验一:搭建私有仓库
Docker官方已经把仓库封装成镜像registry,直接通过启动容器就可以部署完成仓库
上传镜像到本地
[root@docker1 ~]# docker load -i registry2.tar
[root@docker1 ~]# docker run -d --name regs -p 5000:5000 -v /opt/registry:/var/lib/registry registry:2
[root@docker1 ~]# netstat -antlp #查看5000端口是否打开
[root@docker1 ~]# docker tag rhel7:Bngx localhost:5000/nginx #localhost:5000 表示Registry 的地址和端口
[root@docker1 ~]# docker push localhost:5000/nginx #将本地镜像上传到本地仓库
[root@docker1 ~]# curl localhost:5000/v2/_catalog
下载镜像到本地
[root@docker1 ~]# docker rmi localhost:5000/nginx:latest
[root@docker1 ~]# docker pull localhost:5000/nginx