Docker私有倉庫部署---Harbor(實例演示!!!)

Harbor概述

Harbor是VMware公司開源的企業級Docker Registry項目

Harbor的優勢

基於角色控制
基於鏡像的複製策略
支持LDAP/AD
圖像刪除和垃圾收集
圖形UI
審計
RESTful API

Harbor架構組成

Proxy

通過一個前置的反向代理統一接受瀏覽器,Docker客戶端的請求,並將請求轉發給後端不同的服務

Registry

負責存儲Docker鏡像。並處理docker push/pull 命令

Core services

Harbor的核心功能,包括UI、webhook、token服務
UI:提供網絡頁面
token:令牌
Webhook:微服務中的回調機制

Database

爲core services提供數據庫服務

Log collector

負責收集其他組件的log,供日後進行分析

Docker私有倉庫架構拓撲:

在這裏插入圖片描述

用戶請求通過Proxy反向代理訪問Core services,UI提供web界面,token令牌,你第一次登錄之後服務器會給你一串序列號,下次直接登錄就行,你需要下載的鏡像信息,屬性,都存放在後面的database,再通過webhook回調去registry私有倉庫調取鏡像。這一系列的操作都存放在日誌中。

部署Harbor服務實例演示

1.基礎環境部署

#掛載資源包
mount.cifs //192.168.142.1/docker /mnt

切換掛載目錄
cd /mnt

#複製控制命令到系統中
cp docker-compose /usr/local/bin

#查看版本信息
docker-compose -v

#解壓harbor資源包
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local

2.配置Harbor參數

#切換至解壓點目錄
cd /usr/local/harbor/

#編輯Harbor配置
vim harbor.cfg 
#在第五行指定私庫地址
hostname = 192.168.142.149

#使用腳本啓動Harbor
./install.sh

3.遠程登錄Harbor

#登錄harbor,默認管理員admin,密碼Harbor12345
docker login -u admin -p Harbor12345 http://127.0.0.1

#關閉防火牆和安全功能
systemctl stop firewalld.service
setenforce 0

使用瀏覽器登錄登錄Harbor
在這裏插入圖片描述

4.建立項目,並向Harbor中上傳鏡像

在這裏插入圖片描述
在這裏插入圖片描述

#下載鏡像
docker pull cirros

#爲鏡像打標籤
docker tag cirros 127.0.0.1/my/cirros:v1

#上傳鏡像到Harbor
docker push 127.0.0.1/my/cirros:v1

在這裏插入圖片描述

#登出私庫
docker logout http://127.0.0.1

5.創建Harbor新用戶

在這裏插入圖片描述

#新建用戶異地登錄
docker login -u czt -p Czt12345 http://192.168.142.149

可以添加用戶及角色到項目中
在這裏插入圖片描述

6.使用docker-compose管理Harbor

#移除Harbor服務容器同時保留鏡像數據/數據庫
docker-compose down -v

#執行腳本來填充配置
./prepare

#重新創建並啓動Harbor服務容器
docker-compose up -d

#報錯解決
#關閉防火牆,重啓docker
systemctl restart docker
docker-compose up -d

#如需重新部署,需要移除Harbor服務容器全部數據
#先移除Harbor服務容器同時保留鏡像數據/數據庫
docker-compose down -v

#刪除harbor服務容器全部數據
rm -rf /data/database/
rm -rf /data/registry/

謝謝閱讀!!!

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