環境
- Ubuntu 18.04.1 LTS
 - Docker 18.09.1
 - docker-compose 1.23.2
 - Caddy 2
 
下載
下載 Harbor 的最新版本。
1  | wget https://github.com/goharbor/harbor/releases/download/v1.10.2/harbor-offline-installer-v1.10.2.tgz  | 
解壓縮。
1  | tar zxvf harbor-offline-installer-v1.10.2.tgz  | 
進到 Harbor 目錄。
1  | cd harbor  | 
憑證設定
建立一個資料夾,提供 Harbor 和 Docker 存取憑證。
1  | mkdir -p /data/cert/  | 
進到 /data/cert/ 目錄。
1  | cd /data/cert/  | 
建立一個 CA (Certification Authority) 憑證私鑰。
1  | openssl genrsa -out ca.key 4096  | 
建立一個 .rnd 亂數種子。
1  | openssl rand -writerand /root/.rnd  | 
建立一個 CA 憑證。
1  | openssl req -x509 -new -nodes -sha512 -days 3650 \  | 
-subj參數填入個人資訊。
將伺服器憑證(例如 Caddy 產生的憑證和金鑰)複製到指定目錄。
1  | cp /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/yourdomain.com/yourdomain.com.crt /data/cert/yourdomain.com.crt  | 
轉換憑證格式以供 Docker 使用。
1  | openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert  | 
建立一個 Docker 的憑證目錄。
1  | mkdir -p /etc/docker/certs.d/yourdomain.com  | 
將 CA 憑證、伺服器憑證和金鑰複製到 Docker 的憑證目錄。
1  | cp /data/cert/yourdomain.com.cert /etc/docker/certs.d/yourdomain.com/  | 
重新啟動 Docker 服務。
1  | systemctl restart docker  | 
以下是 Docker 憑證目錄的資料夾結構:
1  | /etc/docker/certs.d/  | 
修改設定
進到 Harbor 目錄。
1  | cd harbor  | 
修改 harbor.yml 設定檔:
1  | hostname: yourdomain.com  | 
安裝
執行預備腳本,將產生重要檔案在 /data 目錄。
1  | sudo ./prepare  | 
執行安裝腳本,啟動 Harbor 服務。
1  | sudo ./install.sh  | 
停止 Harbor 服務。
1  | docker-compose down  | 
啟動 Harbor 服務。
1  | docker-compose up -d  | 
認證
初始帳號及密碼如下:
- username: admin
 - password: Harbor12345
 
使用圖形化介面,前往 https://yourdomain.com 瀏覽。
使用 docker 指令登入:
1  | docker login yourdomain.com  | 
使用 docker 指令登出:
1  | docker logout yourdomain.com  |