1.Harbor概述
Habor是由VMWare公司開源的容器鏡像倉庫。事實上,Habor是在Docker Registry上進行了相應的 企業級擴展,從而獲得了更加廣泛的應用,這些新的企業級特性包括:管理用戶界面,基於角色的訪 問控制 ,AD/LDAP集成以及審計日誌等,足以滿足基本企業需求。 官方地址:https://vmware.github.io/harbor/cn/ 組件 功能 harbor-adminserver 配置管理中心 harbor-db Mysql數據庫 harbor-jobservice 負責鏡像複製 harbor-log 記錄操作日誌 harbor-ui Web管理頁面和API nginx 前端代理,負責前端頁面和鏡像上傳/下載轉發 redis 會話 registry 鏡像存儲
2.Harbor部署
Harbor安裝有3種方式: • 在線安裝:從Docker Hub下載Harbor相關鏡像,因此安裝軟件包非常小 • 離線安裝:安裝包包含部署的相關鏡像,因此安裝包比較大 • OVA安裝程序:當用戶具有vCenter環境時,使用此安裝程序,在部署OVA後啓動Harbor # tar zxvf harbor-offline-installer-v1.6.1.tgz # cd harbor # vi harbor.cfg hostname = 10.206.240.188/域名 ui_url_protocol = http harbor_admin_password = 123456 #默認密碼爲Harbor12345 # ./prepare # ./install.sh
3. 基本使用
1、配置http鏡像倉庫可信任 # vi /etc/docker/daemon.json {"insecure-registries":["reg.ctnrs.com"]} # systemctl restart docker 2、打標籤 # docker tag centos:6 reg.ctnrs.com/library/centos:6 3、上傳 # docker push reg.ctnrs.com/library/centos:6 4、下載 # docker pull reg.ctnrs.com/library/centos:6
4.實戰演練
1.安裝Docker Compose 官網:https://docs.docker.com/compose/ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose --version 2.Harbor部署 # tar zxvf harbor-offline-installer-v1.6.1.tgz -C /opt/ # cd /opt/harbor # vi harbor.cfg hostname = 192.168.16.120 ui_url_protocol = http harbor_admin_password = Harbor12345 注:其實只需要更改hostname纔可以使用harbor # ./prepare # ./install.sh 查看端口: # netstat -tnlp|grep 80 開機自動啓動: # cat >>/etc/rc.d/rc.local<<EOF cd /opt/harbor/ && docker-compose up -d EOF chmod +x /etc/rc.d/rc.local 3.配置Harbor http://192.168.16.120 admin/Harbor12345 創建項目:ops、project 私有項目,library 公有項目 創建用戶:denggao/P@ssw0rd 項目授權:角色 項目管理員 注:公共鏡像倉庫無需登錄即可下載,登錄纔開上傳。私有鏡像倉庫需要登錄上傳與下載。 4.配置http鏡像倉庫可信任 # vi /etc/docker/daemon.json {"registry-mirrors": ["http://f1361db2.m.daocloud.io"], "insecure-registries":["192.168.16.120"] } # systemctl restart docker 5.推送鏡像到鏡像倉庫 docker login 192.168.16.120 #公有私有倉庫推送都需要認證 denggao/P@ssw0rd docker tag php:v1 192.168.16.120/library/php:v1 docker push 192.168.16.120/library/php:v1 docker tag nginx:v1 192.168.16.120/library/nginx:v1 docker push 192.168.16.120/library/nginx:v1 docker tag tomcat:v1 192.168.16.120/library/tomcat:v1 docker push 192.168.16.120/library/tomcat:v1 6.下載鏡像 docker pull 192.168.16.120/library/php:v1 docker pull 192.168.16.120/library/nginx:v1 docker pull 192.168.16.120/library/tomcat:v1