Docker:Harbor鏡像倉庫安裝及使用

1. Harbor簡介

在這裏插入圖片描述

Harbor(港口,港灣)是一個用於存儲和分發Docker鏡像的企業級Registry服務器。除了Harbor這個私有鏡像倉庫之外,還有Docker官方提供的Registry。相對Registry,Harbor具有很多優勢:

  • 提供分層傳輸機制,優化網絡傳輸 Docker鏡像是是分層的,而如果每次傳輸都使用全量文件(所以
    用FTP的方式並不適合),顯然不經濟。必須提供識別分層傳輸的機制,以層的UUID爲標識,確定
    傳輸的對象。
  • 提供WEB界面,優化用戶體驗 只用鏡像的名字來進行上傳下載顯然很不方便,需要有一個用戶界
    面可以支持登陸、搜索功能,包括區分公有、私有鏡像。
  • 支持水平擴展集羣 當有用戶對鏡像的上傳下載操作集中在某服務器,需要對相應的訪問壓力作分
    解。
  • 良好的安全機制 企業中的開發團隊有很多不同的職位,對於不同的職位人員,分配不同的權限,
    具有更好的安全性。

官網地址:https://goharbor.io/

2. Harbor安裝

在安裝Harbor之前,需要先安裝Docker和docker-compose,安裝教程可參考:《Docker入門,這裏沒有廢話》。

Harbor下載地址:https://github.com/goharbor/harbor/releases,本教程使用的是:1.10.1版本

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-E80kD8nA-1590408705221)(assets/Harbor下載地址.png)]

github下載不是一般的慢,所以當然要非常貼心的給你們準備好百度雲下載地址(提取碼:wa3z)

2.1 上傳並解壓

tar -zxf harbor-offline-installer-v1.10.1.tgz 

2.2 修改配置

進入harbor目錄,使用vim harbor.yml修改以下配置項:

hostname: 192.168.1.17
port: 85
###並把https註釋掉,不然在安裝的時候會報錯:ERROR:root:Error: The protocol is https but attribute ssl_cert is not set
#https:
  #port: 443
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path

2.3 安裝

./prepare
./install.sh

2.4 啓動

# 啓動
docker-compose up -d
# 停止
docker-compose stop
# 重新啓動
docker-compose restart

2.5 訪問

瀏覽器訪問http://192.168.1.17:85,默認賬號和密碼:admin/Harbor12345

在這裏插入圖片描述

3. 創建項目和用戶

3.1 項目

Harbor的項目分爲公開和私有的:

  • 公開項目:所有用戶都可以訪問,通常存放公共的鏡像,默認有一個library公開項目。
  • 私有項目:只有授權用戶纔可以訪問,通常存放項目本身的鏡像。

這裏,我們創建一個minimall私有項目:

在這裏插入圖片描述

3.2 用戶

切換到系統管理->用戶管理->新建用戶。

在這裏插入圖片描述

3.3 給項目分配用戶

在這裏插入圖片描述

4. 把鏡像上傳到harbor

  • 給鏡像打上標籤
docker tag docker-compose_registry-server 192.168.1.17:85/minimall/docker-compose_registry-server
  • 推送鏡像
docker push 192.168.1.17:85/minimall/docker-compose_registry-server

如果是報以下錯誤,是因爲Docker沒有把Harbor加入信任列表。

The push refers to repository [192.168.1.17:85/minimall/docker-compose_registry-server]
Get https://192.168.1.17:85/v2/: http: server gave HTTP response to HTTPS client

  • 把harbor地址加入Docker信任列表
vim /etc/docker/daemon.json

{
	"registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],
	"insecure-registries": ["192.168.1.17:85"]
}

重啓docker即可。

  • 再次推送鏡像,會提示權限不足

denied: requested access to the resource is denied

  • 權限不足,我們需要先登錄harbor
docker login -u admin -p Harbor12345 192.168.1.17:85

在這裏插入圖片描述

  • 登錄成功之後,再推送鏡像

在這裏插入圖片描述

5. 從harbor下載鏡像

從harbor下載鏡像,要確保已經登錄harbor。

docker pull 192.168.1.17:85/minimall/docker-compose_registry-server
——End——
更多精彩分享,可掃碼關注微信公衆號哦。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章