Harbor和Registry都是Docker的鏡像倉庫,但是Harbor作為更多企業的選擇,是因為相比較於Regisrty來說,它具有很多的優勢。
1.提供分層傳輸機制,優化網絡傳輸
Docker鏡像是是分層的,而如果每次傳輸都使用全量文件(所以用FTP的方式並不適合),顯然不經濟。必須提供識別分層傳輸的機制,以層的UUID為標識,確定傳輸的對象。
2.提供WEB介面,優化用戶體驗
只用鏡像的名字來進行上傳下載顯然很不方便,需要有一個用戶介面可以支持登陸、搜索功能,包括區分公有、私有鏡像。
3.支持水平擴展集群
當有用戶對鏡像的上傳下載操作集中在某伺服器,需要對相應的訪問壓力作分解。
4.良好的安全機制
企業中的開發團隊有很多不同的職位,對於不同的職位人員,分配不同的權限,具有更好的安全性。
5.Harbor提供了基於角色的訪問控制機制,並通過項目來對鏡像進行組織和訪問權限的控制。kubernetes中通過namespace來對資源進行隔離,在企業級應用場景中,通過將兩者進行結合可以有效將kubernetes使用的鏡像資源進行管理和訪問控制,增強鏡像使用的安全性。尤其是在多租戶場景下,可以通過租戶、namespace和項目相結合的方式來實現對多租戶鏡像資源的管理和訪問控制。
1.安裝docker-compose
[root@node03 ~]# yum install python-pip;pip install docker-compose
2.下載Harbor離線包
https://github.com/vmware/harbor/releases
安裝有兩種方式,一種是off-line ,一種是on-line,即離線和在線安裝,離線安裝需要下載的安裝包較大,在線安裝下載的安裝包很小,課題根據自己的情況選擇,我選擇的是1.1.1版本
3.解壓,進入安裝包
[root@node03 ~]# tar -xvf harbor-online-installer-v1.1.1.tgz ; cd harbor
4.修改docker-compose.notary.yml和harbor.cfg文件
[root@node03 harbor]# vim docker-compose.yml
[root@node03 harbor]# vim harbor.cfg
5.執行./prepare,更新一下配置文件
[root@node03 harbor]# ./prepare
6.執行./install.sh,開始安裝並啟動
[root@node03 harbor]# ./install.sh
7.在火狐瀏覽器中訪問測試,此處的用戶名默認為admin,密碼在habor.cfg中,可以自己設置。
原文地址:https://blog.51cto.com/11093860/2117805