1. 程式人生 > >DOCKER-1-8-私有倉庫

DOCKER-1-8-私有倉庫

1.首先檢視已有安裝包的資訊,可以看到是其版本是0.9.1,不是最新版,但是不影響使用,進行安裝,安裝完成後發現版本為2.6.2,是最新版的,這裡面有一個自動更新的過程(不是本次實驗的重點,在這裡不詳細說明)。

2.檢視安裝包安裝的檔案。同時到指定目錄下檢視配置檔案config.yml。

3.啟動docker-distribution服務,並檢視監聽埠,確認配置檔案中的5000埠已經開始監聽。

4.在node1上檢視可用的映象。將映象標籤為node2上的myweb倉庫。檢視映象,將標籤的映象推向倉庫。發生錯誤,原因在於伺服器預設是接受https模式訪問,但目前是http模式。

5.修改daemon.json檔案,增加非安全訪問引數insecure-registries,重新啟動docker。再次嘗試向私有倉庫推送映象檔案,這裡開始推送總是失敗,後來我把防火牆關閉了進行推送就可以了,看來防火牆的配置會有影響,這裡不詳細展開講。

6.在node2上可以看到私有倉庫的地址/var/lib/registry/docker/registry/v2/repositories/myweb/,裡面有映象層資料檔案。這裡可以看到有多個檔案,是因為映象檔案本身是分層的,每一層會成為一個檔案,單獨存放。

7.在node2上嘗試pull拉取映象。這裡和node1一樣,先修改daemon.json增加insecure-registries引數,同時關閉防火牆。可以成功拉去到映象。

8.安裝epel配置好yum倉庫,檢視docker-compose資訊。

9.下載harbor安裝檔案(檔案比較大,建議下載好再傳到虛擬機器裡)。然後解壓縮到/usr/local目錄。同時先禁掉docker-distribution服務。

10.編輯harbor.cfg配置檔案。配置完成後執行./install.sh指令碼(注意,這裡會提示安裝docker-compose,版本要1.17版以上的,這個自行安裝就不在這裡展開了)。

11.啟動成功,確認監聽的埠資訊。(這裡注意,指令碼會建立redis和nginx容器,如果之前已經存在同名的容器,安裝過程會報錯,安裝會不成功。這時需要手動刪除同名的容器或更改容器名,指令碼不會自動完成這些步驟)

12.通過物理機嘗試訪問80埠,可以進行正常訪問。(注意:這裡有時無法訪問,是因為物理機的防火牆規則配置進行了禁止,可以關閉所有防火牆後嘗試進行訪問。)

13.登陸頁面,使用者名稱和密碼在配置檔案harbor.cfg中有寫明。

14.嘗試建立一個使用者。

15.嘗試建立一個專案。

16.使用剛建立的普通使用者登陸。建立一個專案。檢視可以推送的映象。

17.修改daemon檔案,注意這裡如果是80埠也可以不寫,因為預設80埠。重啟docker服務。將3個映象打上標籤,標籤按照harbor要求的格式。

18.先登陸網址,然後按照harbor的格式進行映象推送,這裡可以單個的推送,也可以整個倉庫一起推送。

19.登陸到網頁介面,可以看到剛才的三個映象已經推送到網頁。

20.嘗試暫停docker-compose服務。嘗試恢復docker-compose服務。