本文共 1930 字,大约阅读时间需要 6 分钟。
为什么要配置https?
因为后续你将镜像打包好放入到harbor仓库中,若是生产环境的镜像,会包含很多隐私的配置文件(db,redis等),需要用到https进行加密参考文档:
下载:
下载:docker-compose
配置如下
1、在harbor的目录中新建ssl目录,用来存放自签证书[root@docker harbor]# mkdir ssl2、[root@docker harbor]# cd ssl/
3、[root@docker ssl]# openssl genrsa -out ca.key 40964、主要是这里的域名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.crt5、[root@docker ssl]# openssl genrsa -out test.com.key 40966、[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.csr7、[root@docker ssl]# cat > v3.ext <<-EOFauthorityKeyIdentifier=keyid,issuerbasicConstraints=CA:FALSEkeyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEnciphermentextendedKeyUsage = serverAuth subjectAltName = @alt_names[alt_names]
DNS.1=test.comDNS.2=testDNS.3=hostnameEOF8、[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.crt9、修改配置文件
[root@docker harbor]# vi harbor.cfghostname = test.com #这个就是你访问的地址ui_url_protocol = httpsssl_cert = ./ssl/test.com.crtssl_cert_key = ./ssl/test.com.keyharbor_admin_password = 12345610、重载配置文件
[root@docker harbor]# ./prepare11、安装,这个过程需要等5分钟
[root@docker harbor]# ./install.sh12、结果正常
13、绑定hosts,访问
docker拉取镜像验证:
1、[root@docker ~]# vi /etc/docker/daemon.json{"registry-mirrors": [""]}
2、绑定hosts
3、重启docker
[root@docker ~]# systemctl restart docker4、[root@docker ~]# docker login
第二种推荐:
最简单的方式1、[root@docker ~]# mkdir -p /etc/docker/certs.d/test.com2、拷贝生成的test.com.crt[root@docker ~]# scp 192.168.1.25:/data/harbor/ssl/test.com.crt /etc/docker/certs.d/test.com/3、[root@docker ~]# docker login test.com4、不需要重启docker就可以转载于:https://blog.51cto.com/jacksoner/2334355