前期準(zhǔn)備
- 選擇 572MB的tgz
- 聽說1.7.6好像有漏洞,保險(xiǎn)起見我選擇1.8.5
-
注意最低安裝需求
在這里插入圖片描述
安裝步驟
-
安裝docker,先配置下源,再安裝特定版本docker(參考文檔有要求)
在這里插入圖片描述
- 配置阿里源:
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo - 安裝docker 18:
yum -y install docker-ce-18.06.1.ce-3.el7
- 安裝dockercompose,參考文檔:https://github.com/docker/compose/releases/tag/1.25.4
- 依次執(zhí)行以下命令:
curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
-
解壓harbor軟件包,并配置cfg文件
tar xf harbor-offline-installer-v1.8.5.tgz -C /opt/下圖紅框處修改:
hostname:可以改成IP,域名【本文使用IP】
本文中所有的yourdomain.com都需要改成你服務(wù)器的IP
port避免和nginx沖突,改成非80即可,本文改為1080
其余密碼按需更改
在這里插入圖片描述 -
執(zhí)行harbor下安裝命令
./install.sh -
安裝nginx
yum -y install nginx 編輯nginx配置文件:vim /etc/nginx/conf.d/yourdomain.com.conf,文件內(nèi)容如下:
server {
listen 80;
server_name yourdomain.com;
client_max_body_size 1000m;
location / {
proxy_pass http://127.0.0.1:1080;
}
}
配置HTTPS(重點(diǎn))
- 生成證書頒發(fā)機(jī)構(gòu)證書
- 生成CA證書私鑰
openssl genrsa -out ca.key 4096
- 生成CA證書
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
-key ca.key \
-out ca.crt
- 生成服務(wù)器證書
- 生成私鑰
openssl genrsa -out yourdomain.com.key 4096
- 生成證書簽名請(qǐng)求(CSR)
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \
-key ca.key \
-out ca.crt
- 生成一個(gè)x509 v3擴(kuò)展文件
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = IP:yourdomain.com
EOF
- 使用該v3.ext文件為您的Harbor主機(jī)生成證書
openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in yourdomain.com.csr \
-out yourdomain.com.crt
- 提供證書給Harbor和Docker
- 創(chuàng)建文件夾
mkdir -p /data/cert/
- 復(fù)制證書秘鑰到cert文件夾中
cp yourdomain.com.crt /data/cert/
cp yourdomain.com.key /data/cert/
- 轉(zhuǎn)換yourdomain.com.crt為yourdomain.com.cert,供Docker使用
openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert
- 創(chuàng)建存放秘鑰和CA文件的文件夾
mkdir -p /etc/docker/certs.d/yourdomain.com/
- 將服務(wù)器證書,密鑰和CA文件復(fù)制到Harbor主機(jī)上的Docker證書文件夾
cp yourdomain.com.cert /etc/docker/certs.d/yourdomain.com/
cp yourdomain.com.key /etc/docker/certs.d/yourdomain.com/
cp ca.crt /etc/docker/certs.d/yourdomain.com/
- 重啟docker
systemctl restart docker
- 修改harbor.yml文件中的秘鑰選項(xiàng),把默認(rèn)的注釋掉,修改為自己配置的/data/cert/
# certificate: /your/certificate/path
# private_key: /your/private/key/path
certificate: /data/cert/49.235.207.16.crt
private_key: /data/cert/49.235.207.16.key
- 執(zhí)行prepare以啟用https
./prepare
- 通過docker-compose啟動(dòng)harbor
docker-compose up -d
10.重啟nginx并開機(jī)啟動(dòng)
systemctl restart nginx
systemctl enable nginx
驗(yàn)證harbor
- 服務(wù)器中驗(yàn)證
docker login yourdomain.com
- 根據(jù)提示輸入harbor.yml中配置的密碼即可
- 瀏覽器中驗(yàn)證:輸入 “yourdomain.com”,不安全添加例外即可。


