溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

企業(yè)級Docker鏡像倉庫Harbor部署與使用

發(fā)布時間:2020-05-24 09:09:56 來源:網(wǎng)絡 閱讀:55951 作者:李振良OK 欄目:云計算

在實際生產(chǎn)運維中,往往需要把鏡像發(fā)布到幾十、上百臺或更多的節(jié)點上。這時單臺Docker主機上鏡像已無法滿足,項目越來越多,鏡像就越來越多,都放到一臺Docker主機上是不行的,我們需要一個像Git倉庫一樣系統(tǒng)來統(tǒng)一管理鏡像。這里介紹的是一個企業(yè)級鏡像倉庫Harbor,將作為我們容器云平臺的鏡像倉庫中心。

Habor是由VMWare公司開源的容器鏡像倉庫。事實上,Habor是在Docker Registry上進行了相應的企業(yè)級擴展,從而獲得了更加廣泛的應用,這些新的企業(yè)級特性包括:管理用戶界面,基于角色的訪問控制 ,AD/LDAP集成以及審計日志等,足以滿足基本企業(yè)需求。?


官方地址:
https://vmware.github.io

Github:https://github.com/goharbor/harbor


企業(yè)級Docker鏡像倉庫Harbor部署與使用

1、Harbor主要功能

  • 基于角色訪問控制(RBAC)

    在企業(yè)中,通常有不同的開發(fā)團隊負責不同的項目,鏡像像代碼一樣,每個人角色不同需求也不同,因此就需要訪問權限控制,根據(jù)角色分配相應的權限。?
    例如,開發(fā)人員需要對項目構建這就用到讀寫權限(push/pull),測試人員只需要讀權限(pull),運維一般管理鏡像倉庫,具備權限分配能力,項目經(jīng)理具有所有權限。?

  • 鏡像復制

    可以將倉庫中的鏡像同步到遠程的Harbor,類似于MySQL主從同步功能。

  • LDAP

    Harbor支持LDAP認證,可以很輕易接入已有的LDAP。

  • 鏡像刪除和空間回收

    Harbor支持在Web刪除鏡像,回收無用的鏡像,釋放磁盤空間。

  • 圖形頁面管理

    用戶很方面搜索鏡像及項目管理。

  • 審計

    對倉庫的所有操作都有記錄。

  • REST API

    完整的API,方便與外部集成。

2、Harbor組件


組件功能
harbor-adminserver配置管理中心
harbor-dbMysql數(shù)據(jù)庫
harbor-jobservice負責鏡像復制
harbor-log記錄操作日志
harbor-uiWeb管理頁面和API
nginx前端代理,負責前端頁面和鏡像上傳/下載轉發(fā)
redis會話
registry鏡像存儲

3、Harbor部署

環(huán)境要求:

企業(yè)級Docker鏡像倉庫Harbor部署與使用


Harbor安裝有3種方式:

  • 在線安裝:從Docker Hub下載Harbor相關鏡像,因此安裝軟件包非常小

  • 離線安裝:安裝包包含部署的相關鏡像,因此安裝包比較大

  • OVA安裝程序:當用戶具有vCenter環(huán)境時,使用此安裝程序,在部署OVA后啟動Harbor

我們采用離線安裝,首先下載離線安裝包:https://github.com/vmware/harbor/releases

HTTP方式部署

基本配置:

企業(yè)級Docker鏡像倉庫Harbor部署與使用

準備配置文件:

# ./prepare


安裝并啟動Harbor:


# ./install.sh


查看運行狀態(tài):


企業(yè)級Docker鏡像倉庫Harbor部署與使用


部署完成,是不是很簡單呢!?

如果有非Up狀態(tài),先看日志:

# ls /var/log/harbor/

adminserver.log ?jobservice.log ?mysql.log ?proxy.log ?redis.log ?registry.log ?ui.log


HTTPS方式部署:

如果想以https加密方式提供服務可以參考這個免費的視頻教程:https://ke.qq.com/course/311382
或者參考官方文檔:https://github.com/vmware/harbor/blob/master/docs/configure_https.md?

4、登錄Web頁面


瀏覽器輸入:http://10.206.240.188

賬號:admin ?

密碼:Harbor12345


企業(yè)級Docker鏡像倉庫Harbor部署與使用

這里有4個項目,library是默認自帶的,通常用這個存儲一些公共的鏡像,這個項目下鏡像誰都可以pull,但不能push,push需要先登錄。其他3個項目是我自己創(chuàng)建的,請忽略。

5、library項目賦予新用戶push權限

先創(chuàng)建一個用戶:

企業(yè)級Docker鏡像倉庫Harbor部署與使用

進入library項目,將用戶加入這個成員:

企業(yè)級Docker鏡像倉庫Harbor部署與使用

這樣lizhenliang用戶就具備了對這個library項目的push權限。?
注:創(chuàng)建新項目賦予用戶權限同等方式。

7、上傳鏡像

接下來將剛才構建的鏡像推送到Harbor倉庫,先看看我們要推送的鏡像:

企業(yè)級Docker鏡像倉庫Harbor部署與使用

在推送之前,需要注意第一列,這個完整格式是:

企業(yè)級Docker鏡像倉庫Harbor部署與使用

如果鏡像只放在本地存儲REPOSITORY寫什么都可以,但推送到鏡像倉庫就必須指定倉庫中心地址。?

所以,先打重命名REPOSITORY,其實就是引用源鏡像標記了一個目標鏡像:

企業(yè)級Docker鏡像倉庫Harbor部署與使用

訪問拒絕,剛說過,push需先登錄:

企業(yè)級Docker鏡像倉庫Harbor部署與使用

8、下載鏡像

其他Docker主機怎么下載剛推送的鏡像呢??
由于我們搭建的Harbor是以HTTP提供服務的,而Docker CLI默認以HTTPS 訪問倉庫,所以要先配置可信任,否則pull鏡像倉庫失敗。如果是HTTPS提供服務就不用配置這一步了。

企業(yè)級Docker鏡像倉庫Harbor部署與使用

pull的地址跟push時是一樣的。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI