最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 分布式倉庫 Harbor的實現(xiàn)

 更新時間:2025年08月04日 09:26:06   作者:轉(zhuǎn)身後 默落  
Harbor 是一個用于存儲和分發(fā) Docker 鏡像的企業(yè)級 Registry 服務(wù)器,本文就來介紹一下Docker 分布式倉庫 Harbor的實現(xiàn),感興趣的可以了解一下

Harbor 是一個用于存儲和分發(fā) Docker 鏡像的企業(yè)級 Registry 服務(wù)器,由 VMware 開源,其通過添加一些企業(yè)必需的功能特性,例如安全、標(biāo)識和管理等,擴展了開源 Docker Distribution。作為一個企業(yè)級私有 Registry 服務(wù)器,Harbor 提供了更好的性能和安全。提升用戶使用 Registry 構(gòu)建和運行環(huán)境傳輸鏡像的效率。Harbor 支持安裝在多個 Registry 節(jié)點的鏡像資源復(fù)制,鏡像全部保存在私有 Registry 中, 確保數(shù)據(jù)和知識產(chǎn)權(quán)在公司內(nèi)部網(wǎng)絡(luò)中管控,另外,Harbor 也提供了高級的安全特性,諸如用戶管理,訪問控制和活動審計等

vmware 官方開源服務(wù): https://github.com/vmware/

harbor 官方github 地址: https://github.com/goharbor/harbor

harbor 官方網(wǎng)址: https://goharbor.io/

harbor 官方文檔: https://goharbor.io/docs/

Harbor 功能官方介紹

  • 基于角色的訪問控制: 用戶與 Docker 鏡像倉庫通過“項目”進(jìn)行組織管理,一個用戶可以對多個鏡像倉庫在同一命名空間(project)里有不同的權(quán)限
  • 鏡像復(fù)制: 鏡像可在多個 Registry 實例中復(fù)制(同步)。尤其適合于負(fù)載均衡,高可用,混合云和多云的場景
  • 圖形化用戶界面: 用戶可以通過瀏覽器來瀏覽,檢索當(dāng)前 Docker 鏡像倉庫,管理項目和命名空間
  • AD/LDAP 支: Harbor 可以集成企業(yè)內(nèi)部已有的 AD/LDAP,用于鑒權(quán)認(rèn)證管理
  • 審計管理: 所有針對鏡像倉庫的操作都可以被記錄追溯,用于審計管理
  • 國際化: 已擁有英文、中文、德文、日文和俄文的本地化版本。更多的語言將會添加進(jìn)來
  • RESTful API: 提供給管理員對于 Harbor 更多的操控, 使得與其它管理軟件集成變得更容易
  • 部署簡單: 提供在線和離線兩種安裝工具, 也可以安裝到 vSphere 平臺(OVA 方式)虛擬設(shè)備

1. Harbor 組成

harbor 是由很多容器組成實現(xiàn)完整功能

  • Proxy: 對應(yīng)啟動組件 nginx。它是一個 nginx 反向代理,代理 Notary client(鏡像認(rèn)證)、Docker client(鏡像上傳下載等)和瀏覽器的訪問請求(Core Service)給后端的各服務(wù)
  • UI(Core Service): 對應(yīng)啟動組件 harbor-ui。底層數(shù)據(jù)存儲使用 mysql 數(shù)據(jù)庫,主要提供了四個 子功能:
    • UI: 一個 web 管理頁面 ui
    • API: Harbor 暴露的 API 服務(wù)
    • Auth: 用戶認(rèn)證服務(wù),decode 后的 token 中的用戶信息在這里進(jìn)行認(rèn)證;auth 后端可以接 db、ldap、uaa 三種認(rèn)證實現(xiàn)
    • Token服務(wù): 負(fù)責(zé)根據(jù)用戶在每個 project 中的 role 來為每一個 docker push/pull 命令發(fā)布一個 token,如果從 docker client 發(fā)送給 registry 的請求沒有帶 token, registry 會重定向請求到 token 服務(wù)創(chuàng)建 token
  • Registry: 對應(yīng)啟動組件 registry。負(fù)責(zé)存儲鏡像文件,和處理鏡像的 pull/push 命令。Harbor 對鏡像進(jìn)行強制的訪問控制,Registry 會將客戶端的每個 pull、push 請求轉(zhuǎn)發(fā)到 token 服務(wù)來獲取有效的 token
  • Admin Service: 對應(yīng)啟動組件 harbor-adminserver。是系統(tǒng)的配置管理中心附帶檢查存儲用量, ui 和 jobserver 啟動時候需要加載 adminserver 的配置
  • Job Sevice: 對應(yīng)啟動組件 harbor-jobservice。負(fù)責(zé)鏡像復(fù)制工作的,他和 registry 通信,從一個 registry pull 鏡像然后 push 到另一個 registry,并記錄 job_log
  • Log Collector: 對應(yīng)啟動組件 harbor-log。日志匯總組件,通過 docker 的 log-driver 把日志匯總到 一起
  • DB: 對應(yīng)啟動組件 harbor-db,負(fù)責(zé)存儲 project、 user、 role、replication、image_scan、 access 等的 metadata 數(shù)據(jù)

2. 安裝 Harbor

下載地址: https://github.com/goharbor/harbor/releases

首先確保 docker 和 docker compose 已安裝,并且 docker compose 必須先于 harbor 安裝,否則會報錯誤

注意:docker、 docker compose、 harbor 版本要符合要求不然會安裝失敗,建議都用最新版本

以 http 模式安裝 harbor

下載 Harbor 安裝包并解壓縮

# 下載離線完整安裝包,推薦使用,下載好上傳到 /root 目錄
[root@Ubuntu2204 ~]#pwd
/root
[root@Ubuntu2204 ~]#ls
harbor-offline-installer-v2.12.2.tgz 

# 解壓縮離線包
[root@Ubuntu2204 ~]#mkdir /apps
[root@Ubuntu2204 ~]#tar -xvf harbor-offline-installer-v2.12.2.tgz -C /apps/
[root@Ubuntu2204 ~]#mv /apps/harbor/harbor.yml.tmpl /apps/harbor/harbor.yml

# 只需要修改下面兩行 并把 https 相關(guān)的先注釋了
[root@Ubuntu2204 ~]#vim /apps/harbor/harbor.yml

hostname: 10.0.0.100			# 修改此行,指向當(dāng)前主機 IP 或 FQDN
harbor_admin_password: 123456	# 修改此行指定 harbor 登錄用戶 admin 的密碼

先把這幾行注釋了,先不走 https
 12 # https related config
 13 #https:
 14   # https port for harbor, default is 443
 15  # port: 443
 16   # The path of cert and key files for nginx
 17   #certificate: /your/certificate/path
 18   #private_key: /your/private/key/path
 19   # enable strong ssl ciphers (default: false)
 20   # strong_ssl_ciphers: false

# 運行 harbor 安裝腳本
[root@Ubuntu2204 ~]#/apps/harbor/install.sh

#  實現(xiàn)開機自動啟動 harbor
方法1: 通過 service 文件實現(xiàn)

[root@Ubuntu2204 ~]#vim /lib/systemd/system/harbor.service
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f  /apps/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /apps/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target

[root@Ubuntu2204 ~]#systemctl daemon-reload; systemctl enable harbor

方法2: 通過 rc.local 實現(xiàn)
[root@Ubuntu2204 ~]#vim /etc/rc.local
#!/bin/bash
cd /apps/harbor
/usr/local/bin/docker-compose up

[root@Ubuntu2204 ~]#chmod +x /etc/rc.local

安裝成功后在瀏覽器輸入本機 IP 地址訪問

賬號:admin

密碼:123456

建立項目

harbor上必須先建立項目,才能上傳鏡像

命令行登錄 harbor

重新找一臺安裝 docker 的主機進(jìn)行測試

[root@Ubuntu2204 ~]#cat /etc/docker/daemon.json 
{
    "registry-mirrors": [
        "https://docker.1ms.run",
        "https://docker.m.daocloud.io"
        ],
    "insecure-registries": ["10.0.0.110"] 	# harbor IP 地址
}

[root@Ubuntu2204 ~]#systemctl daemon-reload; systemctl restart docker

# 登錄 harbor 倉庫
[root@Ubuntu2204 ~]#docker login 10.0.0.110
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

# 查看存儲 Docker 的認(rèn)證信息等
[root@Ubuntu2204 ~]#cat .docker/config.json 
{
	"auths": {
		"10.0.0.110": {
			"auth": "YWRtaW46MTIzNDU2"
		}
	}
}

# 給本地鏡像打標(biāo)簽并上傳到 Harbor
[root@Ubuntu2204 ~]#docker tag alpine:latest 10.0.0.110/test/alpine:v1.0
[root@Ubuntu2204 ~]#docker push 10.0.0.110/test/alpine:v1.0

注意:上傳鏡像前,必須先登錄 harbor
	 修改 images 的名稱,不修改成指定格式無法將鏡像上傳到 harbor 倉庫
	 Harbor主機IP/項目名/image名:版本
	 如果不事先建立項目,會上傳鏡像失敗

查看 alpine:v1.0 上傳成功

下載 Harbor 的鏡像

重新找第二臺安裝 docker 的主機進(jìn)行測試

下載前必須修改 docker 的 service 文件,加入harbor服務(wù)器的地址才可以下載

無需登錄,即可下載鏡像

[root@Ubuntu2204 ~]#cat /etc/docker/daemon.json 
{
    "insecure-registries": ["10.0.0.110"] 	# harbor IP 地址
}

[root@Ubuntu2204 ~]#systemctl daemon-reload; systemctl restart docker
[root@Ubuntu2204 ~]#docker pull 10.0.0.110/test/alpine:v1.0

到此這篇關(guān)于Docker 分布式倉庫 Harbor的實現(xiàn)的文章就介紹到這了,更多相關(guān)Docker Harbor內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 優(yōu)化Docker容器啟動時間的常見方案

    優(yōu)化Docker容器啟動時間的常見方案

    優(yōu)化 Docker 容器啟動時間,尤其在大規(guī)模部署、CI/CD 或微服務(wù)架構(gòu)中非常關(guān)鍵,啟動慢會影響響應(yīng)時間、彈性擴縮容和用戶體驗,以下是從鏡像構(gòu)建、容器運行、依賴管理等多個方面整理的 容器啟動加速方案,需要的朋友可以參考下
    2025-06-06
  • docker之如何查看正在運行的容器

    docker之如何查看正在運行的容器

    這篇文章主要介紹了docker之如何查看正在運行的容器問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 在docker中運行mariadb程序的方法

    在docker中運行mariadb程序的方法

    這篇文章主要介紹了在docker中運行mariadb程序的方法,首先大家先安裝docker,然后在進(jìn)行相應(yīng)的操作,具體內(nèi)容詳情大家參考下本文
    2018-05-05
  • Docker如何保存對容器的修改問題

    Docker如何保存對容器的修改問題

    這篇文章主要介紹了Docker如何保存對容器的修改問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 一文詳解如何配置docker通過代理服務(wù)器拉取鏡像

    一文詳解如何配置docker通過代理服務(wù)器拉取鏡像

    這篇文章主要給大家介紹了關(guān)于如何配置docker通過代理服務(wù)器拉取鏡像的相關(guān)資料,如果在拉取Docker鏡像時遇到速度較慢的問題,可以嘗試以下幾種方法解決,需要的朋友可以參考下
    2024-07-07
  • Docker buildx構(gòu)建多平臺鏡像并推送到私有倉庫的方法

    Docker buildx構(gòu)建多平臺鏡像并推送到私有倉庫的方法

    這篇文章主要介紹了Docker buildx構(gòu)建多平臺鏡像并推送到私有倉庫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • centos7搭建docker私人倉庫的方法(kubernetes)

    centos7搭建docker私人倉庫的方法(kubernetes)

    這篇文章主要介紹了centos7搭建docker私人倉庫的方法(kubernetes),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • SQL?Server?簡介與?Docker?Compose?部署SQL?Server?容器

    SQL?Server?簡介與?Docker?Compose?部署SQL?Server?容器

    SQL?Server?是一個功能強大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),適用于各種規(guī)模的應(yīng)用程序和數(shù)據(jù)存儲需求,在本文中,我將簡要介紹?SQL?Server?的基本概念,并詳細(xì)闡述如何使用?Docker?Compose?部署?SQL?Server?容器,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • docker安裝nacos并配置文件持久化方式

    docker安裝nacos并配置文件持久化方式

    這篇文章主要介紹了docker安裝nacos并配置文件持久化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • Docker容器中的OpenCV如何輕松構(gòu)建可移植的計算機視覺環(huán)境

    Docker容器中的OpenCV如何輕松構(gòu)建可移植的計算機視覺環(huán)境

    計算機視覺是一門涉及圖像和視頻處理的領(lǐng)域,可以應(yīng)用于目標(biāo)檢測、圖像識別、人臉識別等各種任務(wù),本文給大家介紹Docker容器中的OpenCV如何輕松構(gòu)建可移植的計算機視覺環(huán)境,感興趣的朋友一起看看吧
    2023-12-12

最新評論

县级市| 辽阳县| 印江| 松原市| 南丰县| 梁河县| 永昌县| 通江县| 龙口市| 上高县| 泰和县| 呼伦贝尔市| 伊金霍洛旗| 达拉特旗| 天津市| 清丰县| 左云县| 绍兴市| 北辰区| 五寨县| 理塘县| 威海市| 北海市| 循化| 廉江市| 新闻| 永修县| 江都市| 十堰市| 舞阳县| 稷山县| 阜康市| 大港区| 西充县| 兴仁县| 天全县| 济源市| 基隆市| 仪陇县| 楚雄市| 玉林市|