一、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