一、安装 Docker 20.10
安装所需的软件包
$ sudo yum install -y yum-utils
二、设置安装源
$ sudo yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
三、安装最新版本 Docker
$ sudo yum install docker-ce docker-ce-cli containerd.io
启动 Docker
$ sudo systemctl start docker
$ sudo systemctl status docker
$ sudo systemctl enable docker
四、安装Docker-compose 1.18.0
$ sudo yum install docker-compose
五、下载harbor 2.4.1
https://github.com/goharbor/harbor/releases/tag/v2.4.1https://github.com/goharbor/harbor/releases/tag/v2.4.1六、修改host文件
$ echo "192.168.10.80 harbor.cahy.com
七、解压harbor
$ tar zvxf harbor-offline-installer-v2.4.1.tgz
八、生成修改harbor.yml
$ cp harbor.yml.tmpl harbor.yml
修改下面三项
九、生成证书颁发机构证书
创建个文件夹存放生成的证书一定与配置文件存储位置保持一致
$ mkdir -p /data/cert
生成 CA 证书私钥
$ openssl genrsa -out ca.key 4096
生成 CA 证书(注意是自己的域名)
$ openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.cahy.com" -key ca.key -out ca.crt
生成服务器证书
openssl genrsa -out harbor.cahy.com.key 4096
生成证书签名请求 (CSR)
openssl req -sha512 -new -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.cahy.com" -key harbor.cahy.com.key -out harbor.cahy.com.csr
生成 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=harbor.cahy.com
DNS.2=harbor
DNS.3=ks-allinone
EOF
使用该v3.ext文件生成证书
openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in harbor.cahy.com.csr -out harbor.cahy.com.crt
服务器证书已经生成完成,我们还需要生成客户端证书
openssl x509 -inform PEM -in harbor.cahy.com.crt -out harbor.cahy.com.cert
创建存放证书的目录
mkdir -p /etc/docker/certs.d/harbor.cahy.com/
cp harbor.cahy.com.cert /etc/docker/certs.d/harbor.cahy.com/
cp harbor.cahy.com.key /etc/docker/certs.d/harbor.cahy.com/
cp ca.crt /etc/docker/certs.d/harbor.cahy.com/
重启docker
systemctl restart docker.service
重新加载配置harbor
./prepare
./install.sh
配置到这里基本就结束了,过程中有过几次错误,是自己把配置写错了产生的,请仔细检查。
最后修改本地客户端host文件让域名生效。
访问https://harbor.cahy.com
Username admin Password Harbro12345



