您好,登錄后才能下訂單哦!
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,供日后進行分析。
其實,私有庫的鏡像最原始來源還是從公庫中下載的,但是企業公司中為什么不都直接使用公庫下載需要的鏡像呢,允許使用 registry 搭建本地私有倉庫,具備這些公庫不具備的優點:
1、節省網絡帶寬,針對于每個鏡像不用每個人都去中央倉庫上面去下載,只需要從私有倉庫中下載即可;
2、提供鏡像資源利用,針對于公司內部使用的鏡像,推送到本地的私有倉庫中,以供公司內部相關人員使用。
接下來,具備來搭建一下 docker私有倉庫:
(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 配置文件:
(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 //開啟
(4)查看鏡像和容器是否都已啟動:
docker images //查看鏡像
docker ps -a //查看容器
docker-compose ps //查看容器
(5)驗證:用瀏覽器訪問 192.168.220.131
用戶名和密碼等信息可以在 harbor.cfg 這個文件中,都可以查詢到,如果不修改,默認的為:
用戶名:admin
密 碼:Harbor12345
(6)手動創建鏡像(點擊 “+項目”):創建一個名為 myproject-kgc 的項目:
(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 //鏡像更換標簽
(9)將剛剛打好標簽的鏡像上傳到私庫中
[root@localhost harbor]# docker push 127.0.0.1/myproject-kgc/cirros
(10)上傳好之后,我們就可以在 Harbor 中看到這個鏡像了:
(11)再打開一臺虛擬機,作為客戶端,連接 Harbor ,來上傳和下載鏡像:
1、首先要修改 /usr/lib/systemd/system/docker.service 配置文件,關聯上私庫,添加以下代碼(一定要添加,否則會出現報錯):
--insecure-registry 192.168.220.131
2、加載
systemctl daemon-reload //重載
systemctl restart docker //重啟
3、登錄
docker login -u admin -p Harbor12345 http://192.168.220.131
4、現在我們可以在這臺客戶機上下載私庫中已經有的鏡像:
docker pull 192.168.220.131/myproject-kgc/cirros:v1
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
6、此時,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 就會多出一個新鏡像:
[root@localhost harbor]# docker-compose down -v //關閉所有容器
[root@localhost harbor]# docker-compose up -d
添加用戶:用戶管理 -----> 創建用戶 (注意密碼需要大寫+小寫)
[root@localhost ~]# docker logout http://192.168.220.131
[root@localhost ~]# docker login http://192.168.220.131
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。