20250706-10-Docker快速入門(下)-Harbor鏡像倉庫_筆記

一、Harbor鏡像倉庫搭建與使用

1. Harbor概述



  • 定義: 由VMWare公司開源的容器鏡像倉庫系統
  • 技術基礎: 在Docker Registry基礎上進行企業級擴展
  • 核心特性:
    • 提供管理用戶界面(GUI)
    • 基于角色的訪問控制(RBAC)
    • 支持

      AD/LDAP\mathrm{AD}/\mathrm{LDAP}AD/LDAP

      集成
    • 完善的審計日志功能
  • 應用場景: 解決生產環境中多節點鏡像分發管理問題,替代低效的導出導入方式
  • 官方資源:
    • 官網: https://goharbor.io/
    • GitHub: https://github.com/goharbor/harbor
2. Harbor部署先決條件與部署



1)先決條件
  • 硬件要求:
    • 最低配置: 2核CPU/4GB內存/40GB硬盤
    • 推薦配置: 4核CPU/8GB內存/160GB硬盤
  • 軟件要求: (以官網最新版本為準)
    • Docker CE 17.06+版本
    • Docker Compose 1.18+版本
  • 資源消耗說明: 因包含7-8個服務組件,資源占用較高
2)部署Harbor



  • 安裝方式選擇:
    • 在線安裝: 包體積小(約9KB),依賴網絡下載鏡像
    • 離線安裝: 包體積大(約530MB),包含所有依賴鏡像
  • 推薦方案: 采用離線安裝包(harbor-offline-installer-v2.1.0.tgz)
  • 部署步驟:
    • 解壓安裝包: tar zxvf harbor-offline-installer-v2.0.0.tgz
    • 進入目錄: cd harbor
    • 配置準備:
      • 復制模板文件: cp harbor.yml.tmpl harbor.yml
      • 修改配置:
        • 設置hostname: reg.ctnrs.com
        • 注釋https相關配置
        • 設置管理員密碼: Harbor12345
    • 執行安裝:
      • 準備環境: ./prepare
      • 正式安裝: ./install.sh
  • 安裝過程說明: 自動導入7-8個服務鏡像并啟動對應容器
3. Harbor基本使用



  • 核心功能:實現鏡像的集中管理和分發,主要包含推送(push)和拉取(pull)兩個基本操作
  • 典型場景:將本地構建的鏡像推送到遠程倉庫,其他主機從倉庫拉取使用
1)配置http鏡像倉庫可信任
  • 配置文件:修改/etc/docker/daemon.json,添加insecure-registries字段
  • 配置示例:
  • 生效方式:配置后需執行systemctl restart docker重啟服務
  • 注意事項:
    • 僅HTTP協議需要此配置,HTTPS需配置證書
    • 可配置多個倉庫地址,用逗號分隔
    • 所有客戶端都需要配置
2)打標簽



  • 命令格式:docker tag SOURCE_IMAGE[:TAG] 倉庫地址/項目名/REPOSITORY[:TAG]
  • 操作要點:
    • 必須包含完整的倉庫地址(如192.168.31.61/library/tomcat)
    • 可通過Harbor界面獲取推送命令模板
    • 本質是為鏡像創建包含倉庫路徑的別名
  • 示例:
3)上傳



  • 前置條件:
    • 完成鏡像打標簽
    • 配置倉庫可信任
    • 登錄倉庫docker login 倉庫地址
  • 推送命令:docker push 完整鏡像路徑
  • 常見問題:
    • 未登錄時報錯unauthorized
    • HTTP未配置時報connection refused
    • 權限不足需檢查項目成員角色
  • 完整流程示例:
4)下載



  • 拉取方式:
    • 直接使用推送地址:docker pull 192.168.31.61/library/tomcat:v1
    • 使用SHA256校驗值(可選)
  • 客戶端要求:
    • 同樣需要配置insecure-registries
    • 無需登錄即可拉取公開項目
  • 效果驗證:
    • Harbor界面會顯示下載次數統計
    • 本地通過docker image ls查看
5)配置可信任總結



  • 驗證方式:通過docker info查看Insecure Registries字段
  • HTTPS區別:
    • 需要配置證書路徑
    • 無需insecure-registries配置
    • 更安全但配置復雜
  • 多倉庫配置:JSON數組中可配置多個地址
4. Harbor部署與管理
1)離線安裝
  • 安裝步驟:
    • 解壓離線包:tar zxvf harbor-offline-installer-v2.0.0.tgz
    • 復制配置文件:cp harbor.yml.tmpl harbor.yml
    • 修改配置:vi harbor.yml
    • 執行安裝:./install.sh
2)服務管理
  • 關鍵命令:
    • 啟動所有服務:docker-compose up -d
    • 查看狀態:docker-compose ps
    • 停止服務:docker-compose stop
  • 服務組成:包含9個核心服務(nginx、registry、portal等)
  • 訪問方式:默認通過80端口訪問Web界面
3)配置文件
  • 關鍵配置項:
    • hostname: 訪問地址(IP或域名)
    • http.port: HTTP服務端口(默認80)
    • https: HTTPS相關配置(端口、證書路徑)
    • harbor_admin_password: 管理員密碼(默認Harbor12345)
  • 修改建議:
    • 生產環境建議啟用HTTPS
    • 首次安裝可先注釋HTTPS配置
二、知識小結

知識點

核心內容

考試重點/易混淆點

難度系數

Harbor鏡像倉庫搭建

集中管理Docker鏡像的專業系統,支持多機集群部署

最低配置要求:2核CPU/4GB內存/40GB硬盤

推薦配置:4核CPU/8GB內存

???

Docker Compose工具

批量管理容器工具,通過YAML文件定義多容器關系

與原生Docker命令的區別:

- 一鍵式部署/卸載

- 服務依賴管理

??

鏡像推送流程

1. 打標簽(docker tag)

2. 登錄倉庫(docker login)

3. 推送鏡像(docker push)

HTTP協議需配置:

/etc/docker/daemon.json添加insecure-registries

????

鏡像拉取驗證

1. 配置倉庫信任

2. 直接執行docker pull

匿名拉取與認證推送的區別

下載計數功能

??

Harbor管理界面

Web UI提供:

- 鏡像瀏覽

- 用戶權限管理

- 項目隔離

默認憑證:

admin/Harbor12345

主題切換支持

?

離線安裝優勢

包含所有依賴鏡像(530MB)

避免網絡拉取超時

與在線安裝包(9.24KB)對比

prepare鏡像需單獨下載

???

生產環境建議

1. 啟用HTTPS+證書

2. 定期備份存儲目錄

單點故障風險:

需配合持久化存儲方案

????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88030.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88030.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88030.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JavaScript之數組方法詳解

JavaScript之數組方法詳解一、數組的創建與基礎特性1.1 數組的創建方式1.2 數組的核心特性二、修改原數組的方法2.1 添加/刪除元素2.1.1 push():尾部添加元素2.1.2 pop():尾部刪除元素2.1.3 unshift():頭部添加元素2.1.4 shift():…

品牌增長困局突圍:大模型時代,AI 如何幫我的品牌少走彎路?

AI時代對企業戰略的沖擊與機遇 在當今瞬息萬變的商業環境中,大模型的崛起正以前所未有的力量重塑著各行各業的競爭格局。傳統的市場營銷、品牌傳播模式正在被顛覆,消費者獲取信息、認知品牌的方式發生了根本性變化。如果說過去十年是“互聯網”的時代&am…

從單體到微服務:Spring Cloud 開篇與微服務設計

一、單體架構的核心痛點與微服務化目標 1. 單體架構的致命缺陷問題表現后果可維護性差百萬行代碼耦合,修改一處需全量測試迭代周期長,創新停滯擴展性受限無法按模塊獨立擴縮容(如訂單模塊需擴容時,用戶模塊被迫一起擴容&#xff0…

篇二 OSI七層模型,TCP/IP四層模型,路由器與交換機原理

一 前言 本章節主要介紹OSI七層模型,TCP/IP四層模型劃分,以及日常使用的路由器,交換機的一些基礎知識 二 OSI 七層 OSI(Open Systems Interconnection Model)即開放式系統互聯模型,是國際標準化組織提出的&…

【JavaSE面試篇】Java集合部分高頻八股匯總

目錄 概念 1. 說說Java中的集合? 2. Java中的線程安全的集合有什么? 3. Collections和Collection的區別? 4. 集合遍歷的方法有哪些? List 5. 講一下java里面list的幾種實現,幾種實現有什么不同? 6.…

利用低空無人機影像進行樹種實例分割

在本項先導研究中,我們開發了一個基于低空無人機影像的本地樹種機器學習實例分割模型,用于生態調查。該實例分割包括單株樹冠的描繪和樹種的分類。我們利用無人機影像對20個樹種及其對應的學名進行了訓練,并收集了這些樹種的學名用于機器學習。為了評估該機器學習模型的準確…

二、Flutter基礎

目錄1. 什么是Widget?Flutter中的Widget分為哪幾類?2. StatelessWidget和StatefulWidget的區別3. StatefulWidget生命周期4. 什么是BuildContext?5. 如何優化Widget重建?6. Flutter布局機制7. Row/Column的主軸和交叉軸8. Expande…

設計模式筆記_創建型_建造者模式

1. 建造者模式介紹 建造者模式是一種創建型設計模式,旨在通過將復雜對象的構建過程與其表示分離,使得同樣的構建過程可以創建不同的表示。它通常用于構造步驟固定但具體實現可能變化的對象。 1.1 功能: 封裝復雜對象的創建過程:適…

【ROS2 自動駕駛學習】03-ROS2常用命令

目錄 1. ros2 pkg list 2. ros2 node list 3. ros2 node info 節點名稱 4. ros2 topic list 5. ros2 topic info 話題名 6. ros2 topic type 話題名 7. ros2 topic find 消息類型 8. ros2 service list 9. ros2 service type 服務名稱 10. ros2 service find 服…

MyBatis-Plus:提升數據庫操作效率的利器

在Java開發中,MyBatis是一個非常流行的持久層框架,它簡化了數據庫操作,提供了靈活的SQL映射功能。然而,隨著項目規模的擴大和業務復雜度的增加,開發者需要更高效、更便捷的方式來處理數據庫操作。MyBatis-Plus應運而生…

App爬蟲實戰篇-以華為真機手機爬取集換社的app為例

前言 在開始學習這篇文章之前,建議你先按照之前2篇文章(App爬蟲工具篇-Appium安裝和App爬蟲工具篇-appium配置),配置必要的環境,才可以繼續完成本章節內容。 電腦連接手機 可以通過usb連接電腦。如果通過adb devices命令,發現沒有連接上,就需要手動配置一些信息 華為…

Vue3組合式API應用:狀態共享與邏輯復用最佳實踐

Vue3組合式API應用:狀態共享與邏輯復用最佳實踐 在Vue3中,組合式API的引入為我們提供了一種全新的方式來編寫Vue組件,并有效地解決了混入和繁瑣邏輯復用的問題。本文將為您介紹如何在Vue3中使用組合式API來實現狀態共享與邏輯復用的最佳實踐&…

在linux 上使用tcpdump監聽http 端口的報文并分析

這里寫目錄標題 1. 使用 tcpdump(原始報文捕獲)觀察:報文翻譯與分析(按行解釋)第一段:客戶端請求報文HTTP 請求頭JSON 請求體第二段:服務器響應報文HTTP 響應頭響應體關鍵問題分析在 Linux 上監聽 HTTP 端口的報文,有多種工具可以實現。以下是幾種常用方法的詳細說明:…

XSStrike 進行 XSS 漏洞測試

XSStrike 是一個功能強大的 XSS 漏洞測試工具,專為檢測、驗證和利用反射型、存儲型、DOM型 XSS 漏洞而設計,適合配合手工測試,也可用于自動化發現。 🛠? 1. 安裝 XSStrike 確保系統中有 Python3 和 git: git clone ht…

any實現(基于LLVM中libcxx實現分析)

本文根據LLVM中libcxx的實現,分析了std::any和std::variant的具體實現。 1 簡介 在 C17 標準中,std::any提供了一種類型安全的方式來存儲任意類型的值。它使用類型擦除(type erasure)技術實現,使得一個對象可以包含任…

網安系列【13】之滲透測試:前期信息收集

文章目錄 前期信息收集信息收集的分類信息收集的內容域名信息收集Whois備案信息whois反查SSL證書查詢域名收集工具IP收集CDN信息收集CDN判斷CDN繞過 端口信息收集常見端口介紹FTP-21SSH-22WWW-80NetBlOSSessionService-139/445MySQL-3306RDP-3389Redis-6379Tomcat-8080 端口掃描…

自動駕駛傳感器的標定與數據融合

目錄 IMU的標定 相機的標定 激光雷達和組合慣導標定 相機和激光雷達標定 傳感器數據融合 多傳感器融合數據處理 傳感器數據融合算法 環境感知與預測 應用實例——車道線識別 應用實例——車輛行人識別 應用實例——交通標志識別 定位系統 基于慣性導航儀的定位技術…

27.移除元素(快慢指針)

給你一個數組 nums 和一個值 val,你需要 原地 移除所有數值等于 val 的元素。元素的順序可能發生改變。然后返回 nums 中與 val 不同的元素的數量。 假設 nums 中不等于 val 的元素數量為 k,要通過此題,您需要執行以下操作: 更改…

Spring AI:ETL Pipeline

提取、轉換和加載(ETL)框架是檢索增強生成(RAG)用例中數據處理的支柱。ETL管道協調從原始數據源到結構化向量存儲的流程,確保數據以最佳格式供AI模型檢索。RAG用例是文本,通過從數據體中檢索相關信息來增強…

26.安卓逆向2-frida hook技術-解密響應

免責聲明:內容僅供學習參考,請合法利用知識,禁止進行違法犯罪活動! 內容參考于:圖靈Python學院 工具下載: 鏈接:https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取碼&#xff1…