基於Harbor構建docker私有倉庫的方法

一.harbor簡介

基於鏡像的復制策略;支持LDAP/AD域,通過VPN連接域使用;圖像刪除和垃圾收集;圖像UI,方便;審計,此功能使用較少,一般企業中用ELK收集、分析日志;RESTful API

一.harbor構建私有倉庫

1.上傳dock-compose,並設置權限

[root@harbor ~]# cd /usr/local/bin/
[root@harbor bin]# rz  -e
[root@harbor bin]# ls
docker-compose
[root@harbor bin]# chmod +x docker-compose 

3、安裝harbor-offline-installer-v1.2.2

[root@harbor bin]# cd /usr/local/
[root@harbor local]# rz -e
[root@harbor local]# tar zxvf harbor-offline-installer-v1.2.2.tgz 

4、配置Harbo參數文件

[root@harbor local]# vim /usr/local/harbor/harbor.cfg 
 
#修改第五行
hostname = 192.168.29.77

5、啟動Harbor

[root@harbor local]# cd /usr/local/harbor/
[root@harbor harbor]# ls
[root@harbor harbor]# sh install.sh 

6、查看Harbor啟動鏡像和容器

(1)查看鏡像

docker images

(2)檢查服務容器是否開啟

cd /usr/local/harbor/
docker-compose ps

7、在UI界面創建項目

瀏覽器訪問訪問http://192.168.32.15,默認的管理員用戶名和密碼是 admin/Harbor12345。

 登陸後界面:

添加項目

 8、在本地測試倉庫功能

此時可使用Docker命令在本地通過127.0.0.1來登錄和推送鏡像。默認情況下,Register服務器在端口80上偵聽。

(1)登錄本地私有倉庫

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

(2)下載鏡像進行測試

docker pull nginx

(3)鏡像打標簽

docker tag nginx 127.0.0.1/test_items/centos:nginx_v1
docker images

(4)上傳鏡像到Harbor

docker push 127.0.0.1/test_items/centos:nginx_v1

9、在客戶端上,上傳鏡像

上述操作都是在Harbor服務器本地操作。如果其他客戶端上傳鏡像到Harbor,就會報如下錯誤。出現這問題的原因Docker Registry交互默認使用的是HTTPS,但是搭建私有鏡像默認使用的是HTTP服務,所以與私有鏡像交互時出現以下錯誤。

(1)錯誤現象

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

(2)解決方法

vim /usr/lib/systemd/system/docker.service
#修改內容地方
......
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.29.33 --containerd=/run/containerd/containerd.sock
......
 
#重啟服務
systemctl daemon-reload
systemctl restart docker
 
#再次登錄
docker login -u admin -p Harbor12345 http://192.168.29.33

(3)上傳鏡像

#下載tomcat鏡像
docker pull tomcat
docker images
#打標簽
docker tag tomcat 192.168.32.15/test_items/centos:tomcat_v1
#上傳到本地倉庫
docker push 192.168.32.15/test_items/centos:tomcat_v1

三、維護管理Harbor

Harbor可以使用docker-compose來管理Harbor。一些有用的命令如下所示,必須在與docker-compose.yml相同的目錄中運行。

修改Harbor.cfg配置文件所需選項的步驟:要更改Harbour的配置文件時,請先停止現有的Harbor實例並更新Harbor.cfg;然後運行prepare腳本來填充配置;最後重新創建並啟動Harbour的實例。

1、停止現有的 Harbor 實例

cd /usr/local/harbor/
docker-compose down -v

2、修改配置文件 Harbor.cfg

cd /usr/local/harbor/
vim harbor.cfg

3、運行prepare腳本來填充配置

cd /usr/local/harbor/
./prepare

4、重啟服務

cd /usr/local/harbor/
docker-compose up -d

四、創建Harbor用戶

1.新建用戶

 

2、在客戶端上操作,刪除之前打標簽的鏡像

docker rmi 192.168.29.77/test_items/centos:tomcat_v1

3、測試創建的新用戶能否使用

#註銷登錄
docker logout 192.168.29.77
#使用新創建的用戶和密碼登錄私有倉庫
docker login 192.168.29.77
Username: zhangsan
Password:                 #輸入密碼
#查看鏡像(沒下載之前)
docker images
#從私有倉庫下載鏡像
docker pull 192.168.29.77/test_items/centos:nginx_v1
#查看鏡像(下載之後)
docker images

4、移除Harbor服務容器以及全部數據

移除Harbor服務容器同時保留鏡像數據/數據庫

1)在Harbor服務器上操作

cd /usr/local/harbor/
docker-compose down -v

(2)如需重新部署,需要移除Harbor服務容器全部數據,持久數據,如鏡像。數據庫等在宿主機的/data/目錄下,日志在宿主機的/var/log/Harbor/目錄下。

到此這篇關於Harbor構建docker私有倉庫的文章就介紹到這瞭,更多相關Harbor docker私有倉庫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: