#注意,全部使用hosts方式用ip來映射域名
1、修改host(
192.168.8.8修改為你自己harbor本機的ip
reg.frame4j.local修改成你自己想要配置的域名
)
echo "192.168.8.8 reg.frame4j.local" >> /etc/hosts
2、切換到harbor的路徑,方便后續操作。
cd /usr/local/harbor
3、生成CA私鑰
openssl genrsa -out ca.key 4096
4、繼續生成(域名改成自己上面改的)
openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=reg.frame4j.local" \ -key ca.key \ -out ca.crt
5、生成一個服務器私鑰(域名改成自己上面改的)
openssl genrsa -out reg.frame4j.local.key 4096
6、繼續生成(域名改成自己上面改的)
openssl req -sha512 -new \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=reg.frame4j.local" \ -key reg.frame4j.local.key \ -out reg.frame4j.local.csr
7、生成X509 v3的密鑰文件(域名改成自己上面改的)
cat > v3.ext <<-EOF authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1=reg.frame4j.local DNS.2=reg.frame4j.local DNS.3=hostname EOF
8、使用v3.ext文件生成你harbor主機密鑰(域名改成自己上面改的)
openssl x509 -req -sha512 -days 3650 \ -extfile v3.ext \ -CA ca.crt -CAkey ca.key -CAcreateserial \ -in reg.frame4j.local.csr \ -out reg.frame4j.local.crt
8、創建 /data/cert目錄為了給harbor.yml使用
mkdir -p /data/cert
9、執行復制命令,將證書復制到/data/cert下(域名改成自己上面改的)
cp reg.frame4j.local.crt /data/cert/
cp reg.frame4j.local.key /data/cert/
10、為docker生成對應的證書給它使用(域名改成自己上面改的)
openssl x509 -inform PEM -in reg.frame4j.local.crt -out reg.frame4j.local.cert
11、在docker所在機器創建對應目錄(域名改成自己上面改的)
mkdir -p /etc/docker/certs.d/reg.frame4j.local/
12、復制證書到目錄下
cp reg.frame4j.local.cert /etc/docker/certs.d/reg.frame4j.local/
cp reg.frame4j.local.key /etc/docker/certs.d/reg.frame4j.local/
cp ca.crt /etc/docker/certs.d/reg.frame4j.local/
13、配置harbor.yml(按照如下修改,改成你自己的證書)
https: # https port for harbor, default is 443 port: 443 # The path of cert and key files for nginx certificate: /data/cert/reg.frame4j.local.crt private_key: /data/cert/reg.frame4j.local.key
14、重啟docker
systemctl restart docker
15、進入harbor目錄下,重新預部署
./prepare
16、關閉harbor
docker-compose down -v
17、重啟harbor
docker-compose up -d
18、docker登陸harbor
docker login reg.frame4j.local
提示success即可
##注意:harbor端口最好不要改會出各種問題