環境
- 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 |