安装Harbor
类别: Docker 标签: Docker Harbor Ubuntu Registry wget cat openssl目录
下载最新的 Harbar Release
wget -c https://github.com/goharbor/harbor/releases/download/v2.1.3/harbor-offline-installer-v2.1.3.tgz
tar -zxvf harbor-offline-installer-v2.1.3.tgz
cd harbor
生成证书(用于支持 HTTPS 访问)
在生产环境中,请始终使用HTTPS,您应该从CA获得证书。 在测试或开发环境中,您可以生成自己的CA。
生成CA证书
- 生成CA证书私钥
openssl genrsa -out ca.key 4096
Generating RSA private key, 4096 bit long modulus (2 primes) .............................................................................................................................................++++ ............................................................................................................................................................................................................++++ e is 65537 (0x010001)
- 生成CA证书
openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Shandong/L=Jinan/O=LNSoft/OU=AI/CN=lnsoft.com" \ -key ca.key \ -out ca.crt
生成服务器证书
证书通常包含一个.crt文件和一个.key文件,例如yourdomain.com.crt和yourdomain.com.key。
- 生成私钥
openssl genrsa -out lnsoft.com.key 4096
- 生成证书签名请求(CSR)
调整-subj选项中的值以反映您的组织。 如果使用FQDN连接Harbor主机,则必须将其指定为公用名(CN)属性,并在密钥和CSR文件名中使用它。
openssl req -sha512 -new \ -subj "/C=CN/ST=Shandong/L=Jinan/O=LNSoft/OU=AI/CN=lnsoft.com" \ -key lnsoft.com.key \ -out lnsoft.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=lnsoft.com DNS.2=lnsoft DNS.3=hostname EOF
- 使用v3.ext文件为您的Harbor主机生成证书
将CRS和CRT文件名中的yourdomain.com替换为Harbor主机名。
openssl x509 -req -sha512 -days 3650 \ -extfile v3.ext \ -CA ca.crt -CAkey ca.key -CAcreateserial \ -in lnsoft.com.csr \ -out lnsoft.com.crt
Signature ok subject=C = CN, ST = Shandong, L = Jinan, O = LNSoft, OU = AI, CN = lnsoft.com Getting CA Private Key
配置
Harbor
- 复制证书
sudo mkdir -p /data/harbor/cert sudo cp lnsoft.com.key /data/harbor/cert/ sudo cp lnsoft.com.crt /data/harbor/cert/
- 编辑配置文件
harbor.yml.tmpl harbor.yml nano harbor.yml
hostname: lnsoft.com certificate: /data/harbor/cert/lnsoft.com.crt private_key: /data/harbor/cert/lnsoft.com.key harbor_admin_password: 123456 data_volume: /data/harbor
Docker
- 将yourdomain.com.crt转换为yourdomain.com.cert,以供Docker使用。
Docker守护程序将.crt文件解释为CA证书,并将.cert文件解释为客户端证书。
openssl x509 -inform PEM -in lnsoft.com.crt -out lnsoft.com.cert
- 复制证书
sudo mkdir -p /etc/docker/certs.d/lnsoft.com sudo cp lnsoft.com.cert /etc/docker/certs.d/lnsoft.com/ sudo cp lnsoft.com.key /etc/docker/certs.d/lnsoft.com/ sudo cp ca.crt /etc/docker/certs.d/lnsoft.com/
- 重启Docker服务
sudo systemctl restart docker
安装
sudo apt install docker-compose -y
sudo ./prepare
sudo ./install.sh
操作
- 如果Harbor正在运行,请停止并删除现有实例。
sudo docker-compose down -v
- 重启Harbor
sudo docker-compose up -d
客户端
- 配置DNS
sudo nano /etc/hosts
172.16.33.174 lnsoft.com ...... ......
- 拷贝证书
sudo mkdir -p /etc/docker/certs.d/lnsoft.com/ sudo scp lnsoft@ln6:/home/lnsoft/ai/harbor/cert/ca.crt /etc/docker/certs.d/lnsoft.com/ca.crt
- 登录
sudo docker login lnsoft.com
- 推送和拉取镜像
sudo docker push lnsoft.com/library/yolov5:latest sudo docker pull lnsoft.com/library/yolov5:latest