Harbor官方安装指导地址: https://goharbor.io/docs/2.5.0/install-config/
此时Harbor官方文档最新版本是2.5.0

一、安装docker-ce和docker-compose

因为Harbor是运行在docker环境的,所以需要先安装docker环境

1.安装docker-ce

点击传送到安装教程

2.安装docker-compose
# 安装epel源
yum install -y epel-release

# 安装docker-compose
yum install -y docker-compose

二、下载Harbor安装包

官方Github的下载地址:https://github.com/goharbor/harbor/releases
可以选择手动本地下载好Harbor包之后再用工具传输到服务器上(此步骤不演示),注意要下载的是offline离线版本,里面包含Harbor的所有文件
在这里插入图片描述

本人是直接在CentOS上进行下载,下载命令如下:

# 原下载命令,到github上下载,下载速度比较慢
wget https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz

# 使用代理站点下载,下载速度快
wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz

三、配置和安装Harbor

1.解压下载到Harbor安装包
# 解压到/opt/目录下,此命令需要在harbor压缩包目录下执行
# 命令执行完毕后,/opt/目录下,会存在harbor文件夹
tar -vxf harbor-offline-installer-v2.5.3.tgz -C /opt/

在这里插入图片描述

2.生成证书

因为本人没有申请域名和购买SSL证书,则需要自己生成
此步骤需要在解压后的/opt/harbor目录下执行

# 进入harbor文件夹
cd /opt/harbor/

# 生成证书
openssl genrsa -out ca.key 4096

# 下面命令需要填写自己的域名或者IP,本人使用本机IP
openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=填写域名或者IP" \
 -key ca.key \
 -out ca.crt
 
# 示例仅供参考,请根据电脑实际IP自行填写
openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=127.0.0.1" \
 -key ca.key \
 -out ca.crt

上面命令执行完毕会在harbor目录下生成ca.crtca.key文件
在这里插入图片描述

3.移动证书位置
# 创建/data/cert/
mkdir  /data/cert/
# 把证书(ca.crt、ca.key)位置移到/data/cert/目录下
mv ca* /data/cert/
4.修改Harbor配置
# 进入harbor文件夹
cd /opt/harbor/
# 将配置文件复制一份
cp harbor.yml.tmpl harbor.yml
# 修改配置文件内容
vi harbor.yml

配置文件主要修改内容如下:
在这里插入图片描述
配置文件修改后:
在这里插入图片描述

四、生成配置文件

# 在harbor目录下执行
./prepare

在这里插入图片描述

五、安装Harbor

# 在harbor目录下执行
./install.sh

在这里插入图片描述
等待最后:
在这里插入图片描述
即安装完成!

六、访问Harbor控制端

浏览器输入:https://配置的IP或者域名:8443/
注意:此步骤如果不通,请查看自己设置的端口防火墙是否开启
默认用户名:admin
默认密码:Harbor12345
在这里插入图片描述

七、Docker登录Harbor异常处理

1.Error response from daemon: Get “https://IP/v2/”: x509: certificate relies on legacy Common Name field, use SANs instead

原因:自生成的证书被Docker认为不可靠的
解决:把自生成的证书放入Docker配置文件中

# 在docker配置文件中建立自己IP或域名的文件夹
mkdir /etc/docker/cert.d/IP(或者域名)
# 示例
mkdir /etc/docker/cert.d/127.0.0.1

# 将证书复制进入
cp /data/cert/ca.crt /etc/docker/cert.d/127.0.0.1/

# 重启docker
systemctl restart docker
2.Error response from daemon: Get “https://IP/v2/”: dial tcp IP:8443: connect: connection refused

原因:Docker拒绝不安全连接
解决:将自己的IP或域名加入Docker允许的不安全连接中

# 创建docker配置文件,加入配置
touch /etc/docker/daemon.json

# 编辑文件
vi /etc/docker/daemon.json

# 加入如下配置
{
"insecure-registries" : ["IP或域名:端口"]
}
示例:该连接端口为https端口
{
"insecure-registries" : ["127.0.0.1:8443"]
}

# 重启Docker
systemctl restart docker
# 注意此时重启了docker,但是harbor不一定会成功重启,需要手动重启harbor
# 先进入自己的harbor目录
cd /opt/harbor

# 停止harbor
docker-compose down -v

# 重启harbor
docker-compose up -d

八、Harbor其他操作命令

1.docker登录harbor
# 此端口连接为https端口
docker login IP或域名:端口
2.docker登出harbor
# 此端口连接为https端口
docker logout IP或域名:端口
3.卸载Harbor
# 移除 Harbor 的容器,但将所有图像数据和 Harbor 的数据库文件保留在文件系统中
sudo docker-compose down -v

# 在执行全新重新安装之前删除 Harbor 数据库和映像数据
rm -r /data/database
rm -r /data/registry
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐