Harbor部署及排障

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

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

记录一下部署过程及排障

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先生的博客-CSDN博客

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

7、最后重启harbor服务

docker-compose up -d

然后去登录harbor就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值