基於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!
推薦閱讀:
- Docker容器harbor私有倉庫部署和管理
- docker建立私有倉庫的過程
- 通過idea打包項目到docker的操作方法
- Docker Compose的安裝和使用步驟
- 基於Docker、Nginx和Jenkins實現前端自動化部署