Docker入門與應用實戰之企業級鏡像倉庫Harbor

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


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