教你搭建Docker--Harbor私有云倉庫

在這裏插入圖片描述

一、Harbor是什麼?

Harbor是一個開源的容器鏡像存儲軟件,它通過基於角色的訪問控制保護鏡像,掃描鏡像以查找漏洞,並將鏡像標記爲可信。
簡單來說,把容器比作是集裝箱,Harbor就是港灣!官方的說法是:Harbor是一個用於存儲和分發Docker鏡像的企業級Registry服務器。Harbor英語單詞。意思是海港,避難所,居住,停泊,庇護等,人名可以翻譯爲哈勃。

二、服務端主機需要安裝 Docker 和 Docker Compose(安裝Docker

1、下載harbor安裝包

wget http://harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz
或者
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local

2、下載compose

curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/bin/docker-compose
或者
cp docker-compose /usr/bin/

3、修改配置文件

cd /usr/local/harbor
vim harbor.cfg

在這裏插入圖片描述
4、啓動Harbor

sh /usr/local/harbor/install.sh

在這裏插入圖片描述
5、查看harbor啓動鏡像和容器
在這裏插入圖片描述
在這裏插入圖片描述

6、使用:"http://192.168.49.202"登陸
登陸賬戶/密碼:admin/Harbor12345
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

7、上傳鏡像到私有倉庫
使用Docker命令在本地通過127.0.0.1來登錄和推送鏡像。默認情況下, Register服務器在端口80上偵聽

docker login -u admin -p Harbor12345 http://127.0.0.1

在這裏插入圖片描述
8、下載鏡像

docker pull cirros
打標籤
docker tag cirros 127.0.0.1/myproject-test/cirros:v1

在這裏插入圖片描述
上傳鏡像

docker push 127.0.0.1/myproject-test/cirros:v1 

web界面查看新上傳的鏡像
在這裏插入圖片描述

9、從私有云下載鏡像
打開客戶端,安裝docker並修改配置文件

vim /usr/lib/systemd/system/docker.service 

在這裏插入圖片描述
重啓系統文件和docker
在這裏插入圖片描述
登錄私有云harbor

docker login 192.168.49.202

在這裏插入圖片描述
下載私有云倉庫鏡像

docker pull 192.168.49.202/myproject-test/cirros:v1

在這裏插入圖片描述
上傳鏡像到私有云倉庫

docker tag cirros:latest 192.168.49.202/myproject-test/cirros
docker push 192.168.49.202/myproject-test/cirros

在這裏插入圖片描述
在這裏插入圖片描述

三、維護Harbor

可以使用docker-compose來管理Harbor,一些有用的命令如下所示,必須在與docker-compose.yml相同的目錄中運行

1、修改harbor.cfg配置文件
要更改Harbour的配置文件時,要先停止現有的Harbour實例並更新harbor.cfg;然後運行prepare腳本來填充配置;最後重新創建並啓動Harbour的實例
進入harbor安裝目錄停止實列

cd /usr/local/harbor/
docker-compose down -v

在這裏插入圖片描述
停止實例以後,就可以更改harbor.cfg文件,更改完成後要運行prepare腳本來填充配置

運行prepare腳本來填充配置

./preoare

在這裏插入圖片描述

重新創建啓動實列
在這裏插入圖片描述

2、創建Harbir用戶
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在客戶端使用新添加的用戶訪問私有云

docker logout http://192.168.49.202                       (登出)
docker login http://192.168.49.202                        (登入)

在這裏插入圖片描述

下載nginx

docker pull nginx
docker tag nginx:latest 192.168.49.202/myproject-test/nginx:v1
docker push 192.168.49.202/myproject-test/nginx:v1

在這裏插入圖片描述
在這裏插入圖片描述

登錄另一臺下載nginx
先登錄harbor

docker login http://192.168.49.202
docker pull 192.168.49.202/myproject-test/nginx:v1

在這裏插入圖片描述

3、Harbor服務器遷移
① 將Harbor遷移至另一臺服務器上
② 將Harbor的安裝目錄/usr/local/harbor導出移至新的服務器
③ 將Harbor的數據存放目錄/data導出移至新的服務器

在新的服務器更改harbor.cfg

vim harbor.cfg 

在這裏插入圖片描述
運行prepare腳本來填充配置

./prepare

重新創建新的容器

docker-compose up -d

使用web登陸查看倉庫中的鏡像
在這裏插入圖片描述

登錄下載鏡像

docker login 192.168.49.129

在這裏插入圖片描述

docker pull 192.168.49.129/myproject-test/nginx:v1

在這裏插入圖片描述

報錯:

1、
在這裏插入圖片描述
原因是關閉防火牆之後docker需要重啓,執行以下命令重啓docker即可:

systemctl restart docker

2、
在這裏插入圖片描述
如果登錄鏡像遇到error就是沒有重啓docker

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