Harbor鏡像倉庫安裝及使用 (2020.9.2)


Harbor簡介

Harbor(港口,港灣)是一個用於存儲和分發Docker鏡像的企業級Registry服務器。

除了Harbor這個私有鏡像倉庫之外,還有Docker官方提供的Registry。相對Registry,Harbor具有很

多優勢:

1. 提供分層傳輸機制,優化網絡傳輸 Docker鏡像是是分層的,而如果每次傳輸都使用全量文件(所以

用FTP的方式並不適合),顯然不經濟。必須提供識別分層傳輸的機制,以層的UUID為標識,確定

傳輸的對象。

2. 提供WEB界面,優化用戶體驗 只用鏡像的名字來進行上傳下載顯然很不方便,需要有一個用戶界

面可以支持登陸、搜索功能,包括區分公有、私有鏡像。

3. 支持水平擴展集群 當有用戶對鏡像的上傳下載操作集中在某服務器,需要對相應的訪問壓力作分

解。

4. 良好的安全機制 企業中的開發團隊有很多不同的職位,對於不同的職位人員,分配不同的權限,

具有更好的安全性。

 

Harbor安裝

1)先安裝Docker並啟動Docker, 參考之前的安裝過程

https://www.cnblogs.com/pengrj/p/13595357.html

vim  /etc/docker/daemon.json

{
"registry-mirrors":["https://b9pmyelo.mirror.aliyuncs.com"],
"insecure-registry":["192.168.369"]
}

2)先安裝docker-compose (下載很慢)

curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

image

如果以上2)步驟不正常,就使用一下安裝

Docker-compose安裝步驟 https://docs.docker.com/compose/install/#install-compose

3)給docker-compose添加執行權限

sudo chmod +x /usr/local/bin/docker-compose

4)查看docker-compose是否安裝成功

docker-compose --version

image

5)下載Harbor的壓縮包

yum -y  install wget

wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.3.tgz
下載很慢,文件太大,最終用迅雷下載在傳上服務器

6)上傳壓縮包到linux,並解壓

image

tar -xzf harbor-offline-installer-v1.8.3.tgz
mkdir /opt/harbor
mv harbor/* /opt/harbor/

cd /opt/harbor/

7)修改Harbor的配置

vi harbor.yml

修改hostname和port

hostname: 192.168.66.102

port: 85

image

8)安裝Harbor

./prepare

./install.sh

image

9)啟動Harbor

docker-compose up -d 啟動

docker-compose stop 停止

docker-compose restart 重新啟動

10)訪問Harbor

http://192.168.3.69:85

默認賬戶密碼:admin/Harbor12345

image

在Harbor創建用戶和項目

1)創建項目

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

公開項目:所有用戶都可以訪問,通常存放公共的鏡像,默認有一個library公開項目。

私有項目:只有授權用戶才可以訪問,通常存放項目本身的鏡像。

我們可以為微服務項目創建一個新的項目:

image

 

image

2)創建用戶

image

3)給私有項目分配用戶

進入test項目->成員

image

 

image

image

 

4)以新用戶登錄Harbor

image

 

把鏡像上傳到Harbor

比如我是在192.168.3.89這台機構建鏡像的,那以下操作都在3.89這台機器

image

1)給鏡像打上標簽

docker tag proa 192.168.3.69:85/test/proa:v1

2)推送鏡像

docker push 192.168.3.69:85/test/proa:v1

這時會出現報錯,是因為Docker沒有把Harbor加入信任列表中 </DI< div>

image

3)把Harbor地址加入到Docker信任列表(是在本機,不是harbor3.69服務器上)

vi /etc/docker/daemon.json

{

"registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],

"insecure-registries": ["192.168.3.69:85"]

}

image

需要重啟Docker

systemctl   restart  docker

4)再次執行推送命令,會提示權限不足

denied: requested access to the resource is denied

需要先登錄Harbor,再推送鏡像

5)登錄Harbor

docker login -u casts -p 1989.coM 192.168.3.69:85

docker push 192.168.3.69:85/test/proa:v1

image

image

 

從Harbor下載鏡像(也以3.89作為客戶機)

提示:基本和上傳操作一樣

1)安裝Docker,並啟動Docker(已經完成)

2)把Harbor地址加入到Docker信任列表(是在本機,不是harbor3.69服務器上)

vi /etc/docker/daemon.json

{

"registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],

"insecure-registries": ["192.168.3.69:85"]

}

需要重啟Docker

systemctl   restart  docker

 

3)登錄Harbor

docker login -u casts -p 1989.coM 192.168.3.69:85

docker pull 192.168.3.69:85/test/proa:v1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM