Harbor部署及排障

DockerHarbor部署与排障实战
本文记录了作者部署DockerHarbor的过程,包括安装docker、docker-compose,配置harbor.yml,以及在遇到核心服务不可用和数据库问题时的故障排查步骤,强调了看日志分析的重要性。

搞了一下午终于部署成功,还是需要培养看日志分析的习惯。。。

记录一下部署过程及排障

1、安装部署docker、docker-compose,以下是我自己的版本,仅供参考

2、下载harbor,直接用wget或者到github下载包拉到服务器上,我选择了2.3.3版本的https://github.com/goharbor/harbor/releases

3、解压包到  /usr/local/ 

tar -xvzf harbor-online-installer-v2.3.3.tgz -C /usr/local/

4、进入/usr/local/harbor,修改配置文件harbor.yml

(注意:很多教程采用一些较旧的harbor版本,配置文件叫harbor.cfg,但某个新版本之后改为了harbor.yml,具体看自己解压出来有没有cfg文件或者百度)

我修改了五个地方,分别是:

  • hostname:必须修改,改为本机已有的hostname或者自己设定的ip
  • port:默认80,http端口,可以不改
  • https:必须修改,全部注释掉
  • harbor_admin_password:harbor密码,可以不改
  • data_volume:数据挂载目录,可以不改

5、执行prepare、install.sh文件,因为我是在线安装包,所以就要等它慢慢慢慢下载完。

./prepare
./install.sh

看到这句提示就成功了

6、正常来说,这里你从浏览器就可以进入harbor了。地址是:http://hostname:port,就是上面你在harbor.yml设定的两个参数,如果没有修改port就是http://hostname。

排障

1、输入账号密码之后,提示harbor核心服务不可用

2、查看服务状态,可以看到harbor-db一直在restarting,先把容器停掉

docker-compose ps 

docker-compose down -v

3、看来是数据库有问题,查看一下日志

cat /var/log/harbor/postgresql.log

4、initdb: error: directory “/var/lib/postgresql/data/pg13“ exists but is not empty。

提示说目录已存在且不为空,那就删掉它。这里提示说的容器内的路径,我们要先找到在本机挂载的路径。

rm -rf /data/database/pg13

5、之后根据其他教程的经验,还要修改一下database的权限,很多教程是让我们去修改pg13的权限,但是因为上面我们已经删除了,那干脆给它上一级目录权限

chown -R polkitd:input /data/database/

6、除了harbor-db启动不了以外,我还碰过了redis也启动不了的情况,报错日志显示:

Fatal error loading the DB: Invalid argument. Exiting.

cat /var/log/harbor/redis.log

参考了大佬的教程,删除dump解决了问题。

Harbor 核心服务不可用---故障排除_harbor核心服务不可用_上海运维Q先生的博客-优快云博客

这里大佬的dump文件是一个,我自己find出来了两个,最后两个都删除了才成功

7、最后重启harbor服务

docker-compose up -d

然后去登录harbor就可以了

### 如何逐步部署 Harbor Harbor 是一个用于存储和分发 Docker 镜像的企业级仓库,提供了增强的安全特性以及镜像复制功能。以下是部署 Harbor 的详细指南: #### 准备工作 为了顺利安装 Harbor,需准备一台 Linux 主机并满足以下条件: - 安装有 DockerDocker Compose。 - 已配置好域名解析服务。 #### 下载 Harbor 安装包 访问官方 GitHub 页面下载最新版本的 Harbor 安装文件[^3]: ```bash wget https://github.com/goharbor/harbor/releases/download/v2.8.0/harbor-offline-installer-v2.8.0.tgz tar xvf harbor-offline-installer-v2.8.0.tgz cd harbor ``` #### 修改配置文件 解压后会得到 `harbor.yml` 文件,在此文件中可以设置 Harbor 所需的各项参数,比如主机名、管理员密码等重要信息。根据实际情况调整这些配置项以适应具体需求[^4]。 #### 初始化证书 (可选) 如果希望启用 HTTPS 访问,则需要提前准备好 SSL/TLS 证书,并将其路径填写到上述提到的 YAML 文件里相应位置。这一步不是强制性的,但对于生产环境来说非常推荐执行。 #### 启动 Harbor 服务 完成以上准备工作之后就可以通过如下命令启动 Harbor 了: ```bash ./install.sh --with-trivy ``` 这里附加了一个 Trivy 参数用来集成漏洞扫描工具,当然也可以省略不加仅保留基础功能即可正常运作。 #### 验证安装成果 最后打开浏览器输入之前设定好的地址就能看到登录界面说明已经成功搭建完毕! #### 登录管理后台 默认情况下用户名为 admin,默认密码可在 harbor.yml 中找到或者是在首次启动时由控制台输出给出。初次登陆建议立即修改初始密码确保安全性[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值