亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

教你如何搭建Docker私有倉庫 docker私有倉庫搭建


教你如何搭建Docker私有倉庫 docker私有倉庫搭建

文章插圖

Docker容器應(yīng)用的開發(fā)和運(yùn)行離不開可靠的鏡像管理,雖然Docker官方也提供了公共的鏡像倉庫,但是從安全和效率等方面考慮,部署我們私有環(huán)境內(nèi)的Registry也是非常必要的 。Harbor 是由VMware公司開源的企業(yè)級的Docker Registry管理項目,它包括權(quán)限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊、鏡像復(fù)制和中文支持等功能 。
Harbor 的所有組件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署 。
注: 由于 Harbor 是基于 Docker Registry V2 版本,所以 docker 版本必須 > = 1.10.0 docker-compose >= 1.6.0
Harbor的目標(biāo)是幫助用戶迅速搭建一個企業(yè)級的Docker registry服務(wù) 。它以Docker公司開源的registry為基礎(chǔ),額外提供了如下功能:
  • 基于角色的訪問控制(Role Based Access Control)
  • 基于策略的鏡像復(fù)制(Policy based image replication)
  • 鏡像的漏洞掃描(Vulnerability Scanning)
  • AD/LDAP集成(LDAP/AD support)
  • 鏡像的刪除和空間清理(Image deletion & garbage collection)
  • 友好的管理UI(Graphical user portal)
  • 審計日志(Audit logging)
  • RESTful API
  • 部署簡單(Easy deployment)
架構(gòu)圖#
  • https://github.com/goharbor/harbor
Harbor的每個組件都是以Docker容器的形式構(gòu)建的,可以使用Docker Compose來進(jìn)行部署 。如果環(huán)境中使用了kubernetes,Harbor也提供了kubernetes的配置文件 。
Harbor大概需要以下幾個容器組成:ui(Harbor的核心服務(wù))、log(運(yùn)行著rsyslog的容器,進(jìn)行日志收集)、mysql(由官方mysql鏡像構(gòu)成的數(shù)據(jù)庫容器)、Nginx(使用Nginx做反向代理)、registry(官方的Docker registry)、adminserver(Harbor的配置數(shù)據(jù)管理器)、jobservice(Harbor的任務(wù)管理服務(wù))、redis(用于存儲session) 。
Harbor是一個用于存儲和分發(fā)Docker鏡像的企業(yè)級Registry服務(wù)器,整體架構(gòu)還是很清晰的 。下面借用了網(wǎng)上的架構(gòu)圖:
Harbor依賴的外部組件#
  • -> Nginx(即Proxy代理層): Nginx前端代理,主要用于分發(fā)前端頁面ui訪問和鏡像上傳和下載流量; Harbor的registry,UI,token等服務(wù),通過一個前置的反向代理統(tǒng)一接收瀏覽器、Docker客戶端的請求,并將請求轉(zhuǎn)發(fā)給后端不同的服務(wù) 。
  • -> Registry v2: 鏡像倉庫,負(fù)責(zé)存儲鏡像文件; Docker官方鏡像倉庫, 負(fù)責(zé)儲存Docker鏡像,并處理docker push/pull命令 。由于我們要對用戶進(jìn)行訪問控制,即不同用戶對Docker image有不同的讀寫權(quán)限,Registry會指向一個token服務(wù),強(qiáng)制用戶的每次docker pull/push請求都要攜帶一個合法的token, Registry會通過公鑰對token進(jìn)行解密驗證 。
  • -> Database(MySQL或Postgresql):為core services提供數(shù)據(jù)庫服務(wù),負(fù)責(zé)儲存用戶權(quán)限、審計日志、Docker image分組信息等數(shù)據(jù) 。
Harbor自有組件#
  • -> Core services(Admin Server): 這是Harbor的核心功能,主要提供以下服務(wù):
    • -> UI:提供圖形化界面,幫助用戶管理registry上的鏡像(image), 并對用戶進(jìn)行授權(quán) 。
    • -> webhook:為了及時獲取registry 上image狀態(tài)變化的情況,在Registry上配置webhook,把狀態(tài)變化傳遞給UI模塊 。
    • -> Auth服務(wù):負(fù)責(zé)根據(jù)用戶權(quán)限給每個docker push/pull命令簽發(fā)token. Docker 客戶端向Regi?stry服務(wù)發(fā)起的請求,如果不包含token,會被重定向到這里,獲得token后再重新向Registry進(jìn)行請求 。
    • -> API: 提供Harbor RESTful API
  • -> Replication Job Service:提供多個 Harbor 實例之間的鏡像同步功能 。
  • -> Log collector:為了幫助監(jiān)控Harbor運(yùn)行,負(fù)責(zé)收集其他組件的log,供日后進(jìn)行分析 。
核心組件#