一、硬件要求
硬件資源 | 最低配置 | 推薦配置 |
---|---|---|
處理器 | 2 | 4 |
CPU | 4 | 8 |
硬件 | 40 | 160 |
二、軟件要求
軟件 | 版本 | 描述 |
---|---|---|
Docker-engine | v17.06.1-ce 或更高版本 | 有關安裝說明,請參閱 Docker Engine文檔。 |
Docker-compose | v1.18.0 或更高版本 | 有關安裝說明,請參閱 Docker Compose文檔。 |
Openssl | 最新版 | 用於生成Harbor的證書和密鑰 |
三、下載Harbor安裝包
官方下載地址:https://github.com/goharbor/harbor/releases
Harbor官方分別提供了在線版(不含組件鏡像,相對較小)和離線版(包含組件鏡像,相對較大),這裏我們下載離線版的。
mkdir /home/harbor & cd /home/harbor #安裝目錄自己指定
wget https://github.com/goharbor/harbor/releases/download/v1.10.1/harbor-offline-installer-v1.10.3.tgz
由於github下載非常非常的慢,在此提供百度網盤下載地址 harbor-offline-installer-v1.10.1.tgz (提取碼:9anp)
四、生成Https證書
官方指導地址:https://goharbor.io/docs/1.10/install-config/configure-https/
# 創建證書目錄,並賦予權限
mkdir -p /data/cert && chmod -R 777 /data/cert && cd /data/cert
# 生成私鑰,需要設置密碼
openssl genrsa -des3 -out harbor.key 2048
# 生成CA證書,需要輸入密碼
openssl req -sha512 -new \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
-key harbor.key \
-out harbor.csr
# 備份證書
cp harbor.key harbor.key.org
# 退掉私鑰密碼,以便docker訪問(也可以參考官方進行雙向認證)
openssl rsa -in harbor.key.org -out harbor.key
# 使用證書進行簽名
openssl x509 -req -days 365 -in harbor.csr -signkey harbor.key -out harbor.crt
五、安裝Harbor
1、解壓軟件包
cd /home/harbor # 進入剛創建的安裝目錄
tar -zxvf harbor.v1.10.1.tar.gz #解壓
2、解壓軟件包
編輯harbor.yml,修改hostname、https證書路徑、admin密碼(可選)
3、運行install.sh即可
./install.sh
4、部署完成,以https方式訪問宿主機地址即可
這邊地址是 https://192.168.1.160 (自己安裝機器的ip地址)。賬戶admin 密碼就剛上面維護的123456
至此離線方式安裝完成。 在線安裝後續補充。
五、client 登錄倉庫時遇到的問題
錯誤:Error response from daemon: Get https://harbor.op.xxxx.com/v2/: x509: certificate signed by unknown authority Web程序
最終解決方案如下:
A:在需要登陸的docker client端修改 /usr/lib/systemd/system/docker.service 文件,在裏面修改ExecStart那一行,增加–insecure-registry=192.168.1.160(你的ip或者域名),然後重啓docker (systemctl daemon-reload systemctl restart docker)
B:在harbor服務器端修改 /etc/docker/daemon.json(如果沒有這個文件,自己建),修改後,同樣運行 (systemctl daemon-reload systemctl restart docker)我的修改內容如下:
注意:重啓docker以後也需要重啓Harbor
cd /home/Harbor #進入Harbor的安裝目錄
docker-compose down #關閉Harbor
./prepare
docker-compose up -d #重啓Harbor