官网 Harbor
环境 CentOS7
安装参考 Harbor docs | Harbor Installation and Configuration
安装先决条件 Harbor docs | Harbor Installation Prerequisites
-
创建虚拟机,参考 模拟Gitlab安装_super_1301的博客-CSDN博客
-
需要Docker engine&Docker Compose环境,安装参考 模拟安装Docker Engine&Docker Compose_super_1301的博客-CSDN博客
由于之前下载了安装包,以Offline方式安装
-
安装包上传到虚拟机
-
解压缩安装包
tar xzvf harbor-offline-installer-v2.6.3.tgz
生成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=yourdomain.com" -key ca.key -out ca.crt
生成服务器端证书
生产服务端私钥
openssl genrsa -out yourdomain.com.key 4096
生成证书签名请求(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=yourdomain.com
DNS.2=yourdomain
DNS.3=harbor
EOF
-
使用 v3.ext 文件为 Harbor 主机生成证书
openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in yourdomain.com.csr -out yourdomain.com.crt
-
向 Harbor 和 Docker 提供证书
将服务器证书和密钥复制到 Harbor 主机上的证书文件夹中
sudo mkdir -pv /data/cert/
sudo cp yourdomain.com.crt /data/cert/
sudo cp yourdomain.com.key /data/cert/
-
将 yourdomain.com.crt 转换为 yourdomain.com.cert,供 Docker 使用
openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert
-
将服务器证书、密钥和 CA 文件复制到 Harbor 主机上的 Docker 证书文件夹中。您必须先创建相应的文件夹
sudo mkdir -pv /etc/docker/certs.d/yourdomain.com/
sudo cp yourdomain.com.cert /etc/docker/certs.d/yourdomain.com/
sudo cp yourdomain.com.key /etc/docker/certs.d/yourdomain.com/
sudo cp ca.crt /etc/docker/certs.d/yourdomain.com/
-
操作系统级别信任证书
sudo cp yourdomain.com.crt /etc/pki/ca-trust/source/anchors/yourdomain.com.crt
sudo update-ca-trust
-
重新启动Docker Engine
sudo systemctl restart docker
查看下启动时间
ps -ef | grep docker
ps -p 22839 -o lstart
-
启动harbor
sudo ./install.sh
报错了
检查了配置路径多了个key ,
修改后重新启动 sudo ./install.sh
启动成功
-
登录 admin/Harbor12345 https://192.168.1.202/account/sign-in?redirect_url=%2Fharbor%2Fprojects
-
创建项目后推送镜像
先通过界面创建项目myproject
然后通过Docker命令上传镜像
先登录 docker login reg.yourdomain.com
权限问题用sudo 执行下
sudo docker login reg.yourdomain.com
又报错了, 没配置hosts ?
sudo vi /etc/hosts
登录成功了~~~
推送镜像,报错了
重新打个tag
sudo docker tag hello-world reg.yourdomain.com/myproject/myrepo:mytag
sudo docker push reg.yourdomain.com/myproject/myrepo:mytag
这个错误是我没有先在界面上创建项目myproject ,创建后在推送就成功了~