一般来说,在宿主机上Docker镜像构建完成后,可以很容易地在宿主机上运行,如果需要在其他的服务器上使用这个镜像,就需要使用Docker Registry(镜像注册)服务来集中存储、分发镜像[1]。Docker Registry服务可以分为公开服务仓库和私有服务仓库两种。公开服务仓库是开放给用户使用,允许用户免费上传、下载公开的镜像,同时为了解决跨洋访问、源站地址不稳定等原因,可以使用常见的阿里云加速器、Dao Cloud加速器、灵雀云加速器,配置镜像加速器。私有服务仓库,是指用户利用Docker官方提供的Docker Registry镜像,在此基础上搭建自己的私有仓库,私有仓库具有私密性,适应于公司内部或者一个工作室内部,可以随时下载和使用容器镜像。本文将介绍了两种仓库使用方法,并重点介绍了私有仓库的部署、管理和使用方法。
本实验选择在VMware Workstation 15中创建一台centos7.1虚拟机[2],作为宿主机,其版本为3.10,并在centos 7中安装好docker,其引擎版本为19.03.9。配置虚拟机的网络为NAT模式,并测试可以与外网成功连通。
[root@localhost cent0s]#docker search centos
返回的结果如图1所示。
本文以配置和使用Dao Cloud加速器为例。具体配置方法如下:
[root@localhost cent0s]#curl-s SL https://get.daocloud.io/daotools/set_mirror.sh|sh-s http://ef0cb1d0.m.daocloud.io
返回的结果如图2所示。
配置Dao Cloud加速器成功后,重启一下docker:
[root@localhost cent0s]#systemctl restart docker
[root@localhost cent0s]#docker pull centos
配置好了Dao Cloud加速器后,会发现下载centos镜像很快,下载成功的结果,如图3所示。
先在公共仓库中获取registry镜像,执行如下的指令:
[root@localhost~]#docker pull registry
返回的结果如图4所示。
以registry镜像为基础镜像,生成registry容器,并配置私有仓库的位置,完成私有仓库的搭建。具体步骤如下:
(1)生成registry容器,开放5000端口,其命令如下:
[root@localhost cent0s]#docker run-id--name=registry-p5000:5000 registry
(2)查看容器信息,可以看见新建的容器的信息,如图5所示。
(3)查看宿主机的网址,使用的命令如下:
[root@localhost cent0s]#ifconfig
获取的宿主机的网址,得到宿主机的网址为:192.168.15.132如图6所示。
(4)客户端配置daemon.json文件(指定私有仓库位置),具体配置内容如下:
(6)重启新建的容器
[root@localhost cent0s]#docker start 3aa794b9d3b6
(1)先查看镜像信息,命令如下:
[root@localhost cent0s]#docker images
可以看到目前只有registry镜像,如图7所示。
(2)拉取centos镜像,命令如下:
[root@localhost cent0s]#docker pull centos
(3)给镜像贴上新的标签
docker tag centos:latest 192.168.15.132:5000/mycentos:v2
(4)重新查看镜像信息,发现宿主机多了一个新的镜像192.168.15.132:5000/mycentos,其标签为v2。具体信息如图8所示。
(5)上传192.168.15.132:5000/mycentos镜像到私有仓库,命令如下:
[root@localhost cent0s]#docker push 192.168.15.132:5000/mycentos:v2
(6)登录私有仓库的网址“http://192.168.15.132:5000/v2/_catalog”,检验上传镜像到私有仓库是否成功,如图9所示的结果说明上传镜像成功。
(1)先将,192.168.15.132:5000/mycentos镜像从宿主机删除,其命令如下:
[root@localhost cent0s]#docker rmi 192.168.15.132:5000/mycentos:v2
(2)查看本地镜像发现,已经没有了192.168.15.132:5000/mycentos镜像,如图10所示。
(3)从私有仓库下载镜像92.168.15.132:5000/mycentos,其命令如下:
[root@localhost cent0s]#docker pull 192.168.15.132:5000/mycentos:v2
(4)再次查看本地镜像信息,发现镜像92.168.15.132:5000/mycentos成功拉取到了宿主机,如图11所示。
在Docker中引入Docker Registry对镜像进行集中的管理,可以更加方便的下载和上传以及使用镜像,本文介绍了两种常用的仓库的管理和使用方法,重点介绍了私有仓库的搭建,通过合理的使用私有仓库,可以帮助用户提高镜像的拉取速度,同时对内部的镜像数据又能起到保护作用,可以很好的应用在学校内部、企业内部或者小的工作室的Docker服务管理和研发环境的搭建[3]。
标签:
上一篇: 提高仓库操作的安全管理(2)
下一篇: 物联网技术在物流仓库管理中的应用探讨