docker 鏡像倉庫Harbor https訪問

配置harbor的https

爲何要配置https?
由於後續你將鏡像打包好放入到harbor倉庫中,如果生產環境的鏡像,會包含不少隱私的配置文件(db,redis等),須要用到https進行加密node

參考文檔:https://github.com/goharbor/harbor/blob/master/docs/configure_https.mdgit

下載:https://github.com/goharbor/harbor/releases
docker 鏡像倉庫Harbor https訪問github

下載:docker-compose
https://docs.docker.com/compose/install/#install-composeredis

配置以下
一、在harbor的目錄中新建ssl目錄,用來存放自簽證書
[root@docker harbor]# mkdir ssldocker

二、[root@docker harbor]# cd ssl/
三、[root@docker ssl]# openssl genrsa -out ca.key 4096
四、主要是這裏的域名test.com 就是待會訪問harbor的域名
[root@docker ssl]# openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=GZ/ST=Guangd/L=Taipei/O=example/OU=Personal/CN=test.com" \
-key ca.key \
-out ca.crt
五、[root@docker ssl]# openssl genrsa -out test.com.key 4096
六、[root@docker ssl]# openssl req -sha512 -new \
-subj "/C=GZ/ST=Guangd/L=Taipei/O=example/OU=Personal/CN=test.com" \
-key test.com.key \
-out test.com.csr
七、[root@docker ssl]# cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_namesjson

[alt_names]
DNS.1=test.com
DNS.2=test
DNS.3=hostname
EOFide

八、[root@docker ssl]# openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in test.com.csr \
-out test.com.crtui

docker 鏡像倉庫Harbor https訪問

九、修改配置文件
[root@docker harbor]# vi harbor.cfg
hostname = test.com #這個就是你訪問的地址
ui_url_protocol = https
ssl_cert = ./ssl/test.com.crt
ssl_cert_key = ./ssl/test.com.key
harbor_admin_password = 123456加密

十、重載配置文件
[root@docker harbor]# ./prepareurl

docker 鏡像倉庫Harbor https訪問

十一、安裝,這個過程須要等5分鐘
[root@docker harbor]# ./install.sh
docker 鏡像倉庫Harbor https訪問

十二、結果正常
docker 鏡像倉庫Harbor https訪問

1三、綁定hosts,訪問
docker 鏡像倉庫Harbor https訪問

docker 鏡像倉庫Harbor https訪問

docker拉取鏡像驗證:
一、[root@docker ~]# vi /etc/docker/daemon.json

{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],"insecure-registries":["https://test.com","192.168.1.13"]}

docker 鏡像倉庫Harbor https訪問

二、綁定hosts
docker 鏡像倉庫Harbor https訪問

三、重啓docker
[root@docker ~]# systemctl restart docker

四、[root@docker ~]# docker login https://test.com

docker 鏡像倉庫Harbor https訪問

第二種推薦:
最簡單的方式
一、[root@docker ~]# mkdir -p /etc/docker/certs.d/test.com
二、拷貝生成的test.com.crt
[root@docker ~]# scp 192.168.1.25:/data/harbor/ssl/test.com.crt /etc/docker/certs.d/test.com/
三、[root@docker ~]# docker login test.com
四、不須要重啓docker就能夠

docker 鏡像倉庫Harbor https訪問

相關文章
相關標籤/搜索