部署环境
- Centos7.3 x64
- docker-ce-17.06.0
- docker-compose-1.15.0
- Python-2.7.5(系统默认)
部署目标
- 使用HTTPS协议
- 支持Clair(在Harbor1.2版本会支持)
支持HTTPS
生产环境最好由权威CA机构签发证书(免费的推荐StartSSL),这里为了测试方便使用自签发的证书
-
创建CA证书
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
-
生成CSR公钥
openssl req -newkey rsa:4096 -nodes -sha256 -keyout hub.wow.key -out hub.wow.csr
-
颁发证书
openssl x509 -req -days 365 -in hub.wow.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out hub.wow.crt
-
部署证书
cp hub.wow.crt hub.wow.key /data/harbor/keys/ vim /data/harbor/harbor.cfg hostname = hub.wow ui_url_protocol = https ssl_cert = /data/harbor/keys/hub.wow.crt ssl_cert_key = /data/harbor/keys/hub.wow.key cd /data/harbor ./prepare 重新生成配置文件 docker-compose down docker-compose up
-
通过HTTPS访问私有仓库
WebUI: https://how.wow Docker Client: [root@hub ~]# docker login -u admin -p Harbor12345 hub.wow Login Succeeded
问题
docker login时提示x509: certificate signed by unknown authority
解决方法: 自签名的证书不被系统信任,需要cp ca.crt /etc/docker/certs.d/hub.wow/, 无需重启docker