一般來說,在宿主機上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)
下一篇: 物聯網技術在物流倉庫管理中的應用探討