一、部署Harbor
Harbor地址:https://github.com/goharbor/harbor/releases,下载所需的Harbor版本,目前以1.2.0版本为例。
1.1 下载Harbor
解压:tar -xvf harbor-offline-installer-v1.2.0-rc1.tgz
目录结构为:
1.2修改Harbor配置
(1)修改harbor.cfg,修改ui_url_protocol为https,ssl_cert和ssl_cert_key分别为证书和私钥
(2)修改Harbor默认端口,需要修改docker-compose.yml和common/templates/registry/config.yml两个配置文件
修改docker-compose.yml内容如下,其中我们使用的是https则使用的端口为:1443
修改common/templates/registry/config.yml内容如下,由于我们使用的端口为:1443则需要添加端口信息
(3)进入/home/test/harbor/data/cert目录制作证书
ssl.conf内容如下:
[req]
req_extensions = v3_req
distinguished_name = req_distinguished_name
[req_distinguished_name]
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
IP.0 = 192.168.x.x
DNS.0 = registry.test.com
然后执行如下命令:
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -subj "/CN=test.com" -days 3600 -out ca.crt
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr -subj "/CN=test.com" -config ssl.conf
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650 -extensions v3_req -extfile ssl.conf
(4) 进入harbor目录,执行./install.sh,完成Harbor的部署
二、Docker配置
若需要使用域名方式,先修改/etc/hosts文件,添加如下内容
192.168.x.x registry.test.com
如果在执行docker login,发现报错,“证书不受信任”,内容如下,有如下两种方式实现正常访问。
Error response from daemon: Get https://registry.test.com:1443/v2/: x509: certificate signed by unknown authority
2.1将CA证书放置到/etc/pki/ca-trust/source/anchors/
以centos为例,执行如下命令,如果仍不可用,需要重启docker。
yum install ca-certificates
update-ca-trust enable
cp ca.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract
重启docker命令如下:
systemctl restart docker
2.2将CA证书放置到/etc/docker/certs.d目录
将镜像库的访问地址放到/etc/docker/certs.d目录下,目录名称为镜像访问地址
版权声明:本文为z2011415107原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。