搭建私有Docker倉庫-筆記3

道理很簡單,咱們在使用Docker的時候,常常須要使用到docker pull命令從docker hub拉取咱們須要的鏡像,進行操做。這樣其實有利也有弊,docker hub是官方維護的公用倉庫,也是最大、最全的docker鏡像倉庫。每一個人有一個docker hub的帳號便可將本身的上傳到docker hub上,方便隨時拉取使用。可是docker hub有個弊端就是受網絡帶寬影響,有時候下載速度稍微有些很差。docker官方呢,在docker hub上提供了一個registry鏡像,咱們使用這個鏡像就能夠搭建一個私有的註冊服務器。咱們能夠經過把經常使用的鏡像都放到私有的registry上,這樣就避免了常常去docker hub上拉取的操做,效率能夠獲得必定的提升。固然實際工做,咱們不必定須要,由於docker hub能夠提供咱們大部分的需求。python

5.PNG

環境:docker001上搭建registry、docker002當作測試客戶端。docker

使用docker001搭建registry服務器

docker pull registry#拉取registry鏡像
docker run -d -p 5000:5000 --restart=always -v /opt/registry:/var/lib/registry registry
#啓動一個registry容器,-d守護態運行、
-p將docker的5000斷開和registry的5000端口進行映射、
自啓動、
指定registry的/var/lib/registry/目錄映射docker001的/opt/registry/目錄(至關於掛載)
firewall-cmd --add-port=5000/tcp --permanent#開放docker001的5000端口
firewall-cmd --reload

image.png

下圖是驗證方法網絡

image.png

在啓動registry時咱們加了參數-v /opt/registry:/var/lib/registry,這裏就是下面要驗證的地方。tcp

docker002上測試ide

dockers registry V2 版本客戶端默認使用https協議去push鏡像到倉庫服務 器,而如今咱們的倉庫服務器只配置了支持http,因此客戶端會push鏡像失敗。如要但願docker客戶端支持http協議,需在啓動docker時加入參數--insecure-registry your_registry_ip:port 。直接編輯/usr/lib/systemd/system/docker.service文件修改便可,以下。測試

image.png

而後從新加載daemon、重啓docker。spa

systemctl daemon-reload
systemctl restart docker.service

首先先打上標籤,不然docker會默認將鏡像上傳到docker hub上。3d

image.png

執行push命令將docker002本地的鏡像上傳到docker001上的registry。rest

image.png

回到docker001,咱們進入到/opt/registry,查看是否成功上傳(目錄層級不少,一層一層往下找就能夠看到了)

image.png

既然能上傳,那麼相應的,拉取操做也應當能夠。

首先我在registry上傳了一個鏡像registry:001

image.png

在docker002上

使用pull命令拉取鏡像

image.png

這樣咱們搭建私有registry的工做就完成,在企業內部搭建一個私有的registry,這樣各部門員工使用鏡像就方便多了。也有利於公司數據、研發成果的保密。

相關文章
相關標籤/搜索