Docker私有倉庫的部署-----Harbor

一、Harbor

Harbor 是 VMware 公司開源的企業級 Docker Registry 項目:
(1)Harbor 的優勢:

基於角色控制;
基於鏡像的複製策略;
支持 LDAP / AD;
圖像刪除和垃圾收集;
圖形 UI;
審計;
RESTful API;

(2)Harbor 架構組成:
1、Proxy:通過一個前置的反向代理統一接受瀏覽器,Docker客戶端的請求,並將請求轉發給後端不同的服務。
2、Registry:負責存儲 Docker 鏡像,並處理 docker push/pull 命令。
3、Core services:Harbor的核心功能,包括 UI、webhook、token 服務。
4、Database:爲 core services 提供數據庫服務。
5、Log collector:負責收集其他組件的 log,供日後進行分析。
Docker私有倉庫的部署-----Harbor

二、私有倉庫的優點:

其實,私有庫的鏡像最原始來源還是從公庫中下載的,但是企業公司中爲什麼不都直接使用公庫下載需要的鏡像呢,允許使用 registry 搭建本地私有倉庫,具備這些公庫不具備的優點:
1、節省網絡帶寬,針對於每個鏡像不用每個人都去中央倉庫上面去下載,只需要從私有倉庫中下載即可;
2、提供鏡像資源利用,針對於公司內部使用的鏡像,推送到本地的私有倉庫中,以供公司內部相關人員使用。
接下來,具備來搭建一下 docker私有倉庫:
Docker私有倉庫的部署-----Harbor
(1)安裝相關軟件包:

安裝 harbor:
[root@localhost abc]# tar zvxf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
安裝 docker-compose:
[root@localhost abc]# cp docker-compose /usr/bin/
//將docker-compose 複製到/bin/目錄下,系統識別後,就可以直接使用 docker-compose命令了。

(2)修改 harbor.cfg 配置文件:
Docker私有倉庫的部署-----Harbor
(3)啓動

[root@localhost local]# cd harbor/
[root@localhost harbor]# ls
common                     docker-compose.yml     harbor.v1.2.2.tar.gz  NOTICE
docker-compose.clair.yml   harbor_1_1_0_template  install.sh            prepare
docker-compose.notary.yml  harbor.cfg             LICENSE               upgrade
[root@localhost harbor]# sh /usr/local/harbor/install.sh   //開啓

Docker私有倉庫的部署-----Harbor
(4)查看鏡像和容器是否都已啓動:

docker images      //查看鏡像
docker ps -a       //查看容器
docker-compose ps  //查看容器

Docker私有倉庫的部署-----Harbor
(5)驗證:用瀏覽器訪問 192.168.220.131
用戶名和密碼等信息可以在 harbor.cfg 這個文件中,都可以查詢到,如果不修改,默認的爲:
用戶名:admin
密 碼:Harbor12345
Docker私有倉庫的部署-----Harbor
(6)手動創建鏡像(點擊 “+項目”):創建一個名爲 myproject-kgc 的項目:
Docker私有倉庫的部署-----Harbor
(7)鏡像創建好之後,回到控制檯,可以通過 docker 命令在本地通過 127.0.0.1 來登錄和推送鏡像:

docker login -u admin -p Harbor12345 http://127.0.0.1

(8)從公庫中下載一個鏡像再上傳到私庫中

[root@localhost harbor]# docker pull cirros    //下載鏡像
[root@localhost harbor]# docker tag cirros 127.0.0.1/myproject-kgc/cirros:v1   //鏡像更換標籤

Docker私有倉庫的部署-----Harbor
(9)將剛剛打好標籤的鏡像上傳到私庫中

[root@localhost harbor]# docker push 127.0.0.1/myproject-kgc/cirros

Docker私有倉庫的部署-----Harbor
(10)上傳好之後,我們就可以在 Harbor 中看到這個鏡像了:
Docker私有倉庫的部署-----Harbor
(11)再打開一臺虛擬機,作爲客戶端,連接 Harbor ,來上傳和下載鏡像:
1、首先要修改 /usr/lib/systemd/system/docker.service 配置文件,關聯上私庫,添加以下代碼(一定要添加,否則會出現報錯):

--insecure-registry 192.168.220.131

Docker私有倉庫的部署-----Harbor
2、加載

systemctl daemon-reload    //重載
systemctl restart docker   //重啓

3、登錄

docker login -u admin -p Harbor12345 http://192.168.220.131

Docker私有倉庫的部署-----Harbor
4、現在我們可以在這臺客戶機上下載私庫中已經有的鏡像:

docker pull 192.168.220.131/myproject-kgc/cirros:v1

Docker私有倉庫的部署-----Harbor
5、或者從公庫中下載一個鏡像,再打標籤,上傳到私庫中:

[root@localhost ~]# docker pull cirros
[root@localhost ~]# docker tag cirros:latest 192.168.220.131/myproject-kgc/cirros:v2
[root@localhost ~]# docker push 192.168.220.131/myproject-kgc/cirros:v2

Docker私有倉庫的部署-----Harbor
6、此時,Harbor 中可以發現,又多了一個新上傳的鏡像:
Docker私有倉庫的部署-----Harbor
7、我們也可以將我們常用的鏡像下載下來,打好標籤上傳到私庫中:

[root@localhost ~]# docker pull nginx
[root@localhost ~]# docker tag nginx:latest 192.168.220.131/myproject-kgc/nginx:v1
[root@localhost ~]# docker push 192.168.220.131/myproject-kgc/nginx:v1

8、此時,Harbor 就會多出一個新鏡像:
Docker私有倉庫的部署-----Harbor

三、管理私庫:

[root@localhost harbor]# docker-compose down -v       //關閉所有容器

Docker私有倉庫的部署-----Harbor

[root@localhost harbor]# docker-compose up -d

Docker私有倉庫的部署-----Harbor
添加用戶:用戶管理 -----> 創建用戶 (注意密碼需要大寫+小寫)
Docker私有倉庫的部署-----Harbor

[root@localhost ~]# docker logout http://192.168.220.131
[root@localhost ~]# docker login http://192.168.220.131

Docker私有倉庫的部署-----Harbor

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章