harbor-db restarting问题
现象:
在安装harbor后,启动时发现harbor-db 一直是restarting,/harbor-jobservice,/harbor-core 这两是starting 状态,如下图
解决:
1.查看你的数据库的挂载目录(对应的宿主机目录)是什么,去你的harbor的安装目录,例如我的是usr/local/harbor ,执行 cat docker-compose.yml , (如下图)可以看到是 /data/database。然后去看你的这个目录, 如果没有请创建,如果有了,请删除掉里面的东西(自己玩可以直接删,生产上可不能乱搞)
2.停止harbor ,docker-compose down , 再启动 docker-compose up -d, 然后 docker ps -a 观察你的容器,登上一两分钟会发现所有容器都是healthy 状态了
上面解决办法如果没能解决你的问题,那么可以看一下下面的我的详细路程,希望对你有帮助
长路漫漫:
1.当然是看日志了,来到/var/log/harbor/ 下你会发现harbor的各种日志,如下图
2.既然harbor-core 启动不了,那就先看core.log, 执行 cat core.log,如下图可以看到是因为链接pg数据库链接不上,猜测那就是pg没启动起来,自然是链接不上
3.那么我们就去看postgre的日志,执行 cat postgresql.log 如下图
4. 可以看到是说/var/lib/postgresql/data/pg96 不能为空,应该是要建文件夹,这个看起来是postgre docker容器内部的目录,但是宿主机是哪个目录呢? 那就需要看下docker-compose.yml 文件中的postgre配置的挂载目录是哪个,来到 /usr/local/harbor 执行 cat docker-compose.yml 如下图 可以看到对应的宿主机目录是/data/database
5. 来到/data/database ,发现里面不是空的,但是为啥要说 确保这个目录不是空的呢,还要 一个 POSTGRE_VERSION 的文件在里面呢? 不得其解。。。
6. 活人还能被尿憋死?答案是不能,面对百度开发啊。。。 查看各种博客,harbor-db restarting的原因都和我的不一样,我的为啥是确保 那个目录不能为空呢,明明不是空的啊,难道是想说那个目录得失空的?
7.于是来到 /data/database 目录,执行了一把 rm -rf *
8.怀着复杂的心情,再次来到 /usr/local/harbor 目录, 停止harbor, 执行 docker-compose down
再执行 docker-compose up -d, 然后重复执行 docker ps -a ,终于。。。 我的执着我的努力再加上我的运气 赌对了!所有容器状态是 healthy ,没错是 healthy!
9.但是,他娘的,哪个人才写的那个日志,这不是诱导我问候你吗:
10.话说回来,之前/harbor-jobservice 没起来是因为 依赖/harbor-core 这个,这个core又依赖 pg,所以pg 好了,其他都好了
11. 心情归于平静,心之所向,无非是碎银几两,没有碎银,哪来诗和远方。。。
相关文章
- Python基础-通过随机数实现抽奖功能 (代码分享)
- PYTHON : 二进制 、 八进制 、十六进制的转换和输出
- python中center()函数用法(输出字符串和整型的情况)
- 你离Python大神就差这课树了!建议收藏|Python技能树测评
- 榜单公布|试用 Python 技能树,赢取丰厚大奖!
- Python-自定义函数,手动Ctrl+c中断程序(可用于循环比如录音)
- python跳出循环之break
- python读取配置文件.ini
- 128*64 OLED图片批量取模(Python程序)
- Python 的IDE——PyCharm
- Python小屋刷题软件2425道题目分类速查表
- Python练习-求两个给定正整数的最大公约数和最小公倍数
- Python 更好的文件路径处理模块 pathlib详解
- python 打印进度条
- python基本面试题
- CSND Python技能树模块使用|Python 技能树测评
- python 中的变量
- Python中字符串放在引号(单引号,双引号,三引号)内的用法
- Python每日一练(20230309)
- A6.2021年全国数学建模竞赛C题分析-生产企业原材料的订购与运输