ubuntu?22.04安裝harbor的詳細(xì)過程
一、概述
Harbor 是一個(gè)企業(yè)級(jí)的云原生容器鏡像倉庫,由 VMware 開發(fā)并貢獻(xiàn)給 Cloud Native Computing Foundation (CNCF)。它在傳統(tǒng)的 Docker Registry 基礎(chǔ)上進(jìn)行了增強(qiáng),提供了許多企業(yè)級(jí)功能,如安全、訪問控制、鏡像簽名、漏洞掃描等。
主要功能
安全性與漏洞掃描
集成 Clair 或 Trivy 等安全工具,自動(dòng)掃描鏡像中的安全漏洞,確保鏡像的安全性。
支持鏡像簽名和內(nèi)容信任,確保鏡像的完整性和可信度。
訪問控制
提供基于角色的訪問控制(RBAC),確保不同用戶在倉庫中的操作權(quán)限得到精確控制。
支持與 LDAP/AD 集成,實(shí)現(xiàn)統(tǒng)一的身份驗(yàn)證和權(quán)限管理。
鏡像管理
支持鏡像的存儲(chǔ)、分發(fā)和管理,包括鏡像的上傳、下載、刪除等操作。
提供鏡像復(fù)制功能,支持跨多個(gè) Harbor 實(shí)例或其他 Docker 注冊(cè)表的鏡像同步。
支持垃圾回收和存儲(chǔ)配額管理,優(yōu)化存儲(chǔ)資源。
多租戶支持
通過項(xiàng)目隔離機(jī)制,支持多租戶環(huán)境下的鏡像管理。
Web 界面與 API
提供直觀的 Web 界面,方便用戶進(jìn)行鏡像管理、項(xiàng)目管理、用戶管理等操作。
提供 RESTful API,支持自動(dòng)化和集成,便于與 CI/CD 流水線對(duì)接。
高可用性
支持多節(jié)點(diǎn)部署,確保鏡像倉庫的持續(xù)可用。
架構(gòu)
Harbor 的架構(gòu)分為三個(gè)主要層級(jí):
數(shù)據(jù)訪問層
K-V 存儲(chǔ):由 Redis 組成,提供數(shù)據(jù)緩存功能。
數(shù)據(jù)庫:存儲(chǔ)用戶、項(xiàng)目、權(quán)限等元數(shù)據(jù),通常使用 PostgreSQL。
對(duì)象存儲(chǔ):支持多種存儲(chǔ)后端(如文件系統(tǒng)、S3、Ceph),用于存儲(chǔ)實(shí)際的鏡像層。
基礎(chǔ)服務(wù)
核心服務(wù):處理用戶身份驗(yàn)證、項(xiàng)目和鏡像管理,以及任務(wù)調(diào)度。
Job Service:負(fù)責(zé)異步任務(wù)的處理,如鏡像復(fù)制和漏洞掃描。
Notary:提供鏡像簽名和驗(yàn)證功能。
Clair/Trivy:負(fù)責(zé)鏡像的安全漏洞掃描。
Web UI
提供用戶友好的界面,方便用戶進(jìn)行鏡像和項(xiàng)目的管理。
應(yīng)用場景
容器化應(yīng)用開發(fā)與部署
開發(fā)人員可以將構(gòu)建好的鏡像推送到 Harbor 中進(jìn)行存儲(chǔ)和管理,運(yùn)維人員可以從 Harbor 中拉取鏡像部署到生產(chǎn)環(huán)境。
多環(huán)境鏡像分發(fā)
支持鏡像在不同環(huán)境(如開發(fā)、測(cè)試、生產(chǎn))之間的分發(fā)和同步,確保版本一致性。
容器鏡像安全管理
通過漏洞掃描和訪問控制功能,確保鏡像的安全性和合規(guī)性。
Harbor 為企業(yè)提供了全面的容器鏡像管理解決方案,滿足企業(yè)在安全性、可靠性和可擴(kuò)展性方面的需求。
二、安裝
前置條件
硬件
最低硬件要求
CPU:2核
內(nèi)存:4GB
磁盤:40GB
推薦硬件配置
CPU:4核
內(nèi)存:8GB
磁盤:160GB
軟件
確保已經(jīng)安裝了docker,docker-compose,參考文檔:https://www.cnblogs.com/xiao987334176/p/18809253
下載最新版本的安裝包
https://github.com/goharbor/harbor/releases
下載最新在線安裝包,得到文件harbor-offline-installer-v2.12.2.tgz
解壓文件
cd /data/ tar zxvf harbor-offline-installer-v2.12.2.tgz
復(fù)制配置文件
cd harbor/ cp harbor.yml.tmpl harbor.yml
修改以下配置,主要修改端口,證書,數(shù)據(jù)目錄
hostname: harbor.qq.com http: port: 8082 https: port: 8083 # The path of cert and key files for nginx certificate: /data/harbor/cert/qq.com.pem private_key: /data/harbor/cert/qq.com.key # The default data volume data_volume: /data/harbor
參數(shù)說明:
hostname,訪問主機(jī)名,必須要設(shè)置,否則無法安裝
http,設(shè)置http訪問的端口,由于端口被占用了,所以改成了8082
https,設(shè)置https訪問的端口,由于端口被占用了,所以改成了8083
certificate,private_key,這2個(gè)是配置SSL證書的。因?yàn)楣净ㄥX買了通配符的SSL證書,能匹配所有域名,直接拿來用了。
如果你沒有SSL證書,可以不做配置,把https部分注釋掉即可。
data_volume,數(shù)據(jù)存放目錄,建議放到一個(gè)比較大的磁盤空間里面。
本地安裝
bash prepare bash install.sh
安裝完成后在本地生成docker-compose.yml文件,此時(shí)可以啟動(dòng)harbor服務(wù);
docker-compose up -d
訪問域名
https://harbor.qq.com:8083/
初始的默認(rèn)用戶是admin,密碼是Harbor12345
登錄之后,可以修改密碼。
登錄之后效果如下:
三、使用項(xiàng)目
新建一個(gè)項(xiàng)目,比如dify
訪問級(jí)別,如果勾選公開,那么所有人可以在不登錄的情況下,下載鏡像。慎重選擇,這里不勾選。
用戶
一般,我們會(huì)創(chuàng)建一個(gè)普通用戶,來進(jìn)行鏡像的下載和上傳。 而不是直接用管理員賬戶admin
點(diǎn)擊用戶管理,創(chuàng)建用戶
創(chuàng)建一個(gè)用戶devops,注意密碼必須符合密碼復(fù)雜性要求的
如果設(shè)置密碼比較糾結(jié),可以找一個(gè)在線生成的,比如:https://www.strongpasswordgenerator.org/zh-cn/
進(jìn)入項(xiàng)目dify,添加成員
添加成員devops,設(shè)置為項(xiàng)目管理員
四、鏡像推送
首先修改docker配置/etc/docker/daemon.json,增加harbor地址
"insecure-registries": ["harbor.qq.com:8083"]
修改完成后,重啟docker
systemctl restart docker
比如將nginx鏡像推送到項(xiàng)目dify
先登錄到harbor
# docker login harbor.qq.cn:8083 user:devops password: Login Succeeded
下載nginx鏡像
docker pull nginx:latest
推送鏡像
docker tag nginx:latest harbor.qq.com:8083/dify/nginx:latest docker push harbor.qq.com:8083/dify/nginx:latest
查看鏡像是否存在
五、鏡像清理
比如java項(xiàng)目經(jīng)常更新迭代,那么harbor里面會(huì)產(chǎn)生很多鏡像。運(yùn)行半年以上,可能harbor磁盤就會(huì)達(dá)到100G以上甚至更大。
但是一般情況下,很多很早的鏡像,沒有必要存儲(chǔ),需要進(jìn)行清理。比如:保留最近推送的10個(gè)鏡像。
harbor提供鏡像清理策略,進(jìn)入項(xiàng)目策略,添加規(guī)則
保留最近推送的10個(gè)鏡像
添加定時(shí)器
設(shè)置為每周執(zhí)行
注意:項(xiàng)目里面的清理策略,刪除的鏡像會(huì)在回收站里面,所以還需要在回收站里面,進(jìn)行徹底刪除。
點(diǎn)擊清理服務(wù),設(shè)置為每周
這樣,鏡像就會(huì)徹底清理了,釋放磁盤空間!
到此這篇關(guān)于ubuntu 22.04安裝harbor的詳細(xì)過程的文章就介紹到這了,更多相關(guān)ubuntu 安裝harbor內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決docker run 或者 docker restart 啟動(dòng)鏡像就自動(dòng)退出
這篇文章主要介紹了解決docker run 或者 docker restart 啟動(dòng)鏡像就自動(dòng)退出的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11Docker運(yùn)行鏡像以及退出、刪除容器的實(shí)現(xiàn)方式
這篇文章主要介紹了Docker運(yùn)行鏡像以及退出、刪除容器的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03在 Ubuntu 下通過 Docker 部署 Mastodon&nbs
在Ubuntu系統(tǒng)上通過Docker部署Mastodon服務(wù)器的步驟,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2025-03-03Docker 解決容器時(shí)間與主機(jī)時(shí)間不一致的問題三種解決方案
這篇文章主要介紹了Docker 解決容器時(shí)間與主機(jī)時(shí)間不一致的問題的相關(guān)資料,這里提供了三種方法,供大家參考,需要的朋友可以參考下2016-12-12docke自定義網(wǎng)絡(luò)之容器互聯(lián)
大家好,本篇文章主要講的是docke自定義網(wǎng)絡(luò)之容器互聯(lián),感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Docker Base Image自己創(chuàng)建具體實(shí)現(xiàn)
這篇文章主要介紹了Docker Base Image創(chuàng)建具體實(shí)現(xiàn)的相關(guān)資料,這里提供了詳細(xì)的具體步驟,需要的朋友可以參考下2016-11-11