[转帖]harbor-db restarting问题

harbor,db,restarting,问题 · 浏览次数 : 0

小编点评

**解决方法** 1. **查看数据库挂载目录** - 在 `docker-compose.yml` 文件中查看 `db` 的配置。 - 访问 `/var/log/harbor/` 目录,查看 `harbor-db` 和 `docker-compose.yml` 文件的日志。 2. **停止 harbor 和 docker-compose** - 使用 `docker-compose down` 命令停止所有容器。 - 使用 `docker-compose up -d` 命令重新启动所有容器。 3. **观察容器状态** - 使用 `docker ps -a` 命令监控容器的状态。 - 在 2分钟内,观察所有容器变成 `healthy` 状态。 4. **查看核心日志** - 使用 `docker logs core.log` 命令查看 `core.log` 中的错误消息。 - 确保 `pg` 服务已启动。 5. **查看 postgre 日志** - 使用 `docker logs postgresql.log` 命令查看 `postgresql.log` 中的错误消息。 - 确保 `pg` 服务已启动。 6. **检查 `docker-compose.yml` 配置** - 确保 `postgre` 的配置在 `docker-compose.yml` 中正确设置。 - 确保 `db` 的挂载目录正确指定。 7. **确保 `data/database` 目录空** - 确保 `data/database` 目录是空目录。 - 如果存在文件,请删除它们。 8. **重新启动 harbor 和 docker-compose** - 使用 `docker-compose up -d` 命令重新启动所有容器。 - 使用 `docker ps -a` 命令监控容器的状态。 **其他建议** - 查看 `docker-compose.yml` 文件中的其他配置选项,例如 `restart` 和 `volumes`。 - 使用 `docker logs` 命令跟踪容器的日志。 - 使用 `docker info` 命令查看容器详细信息。

正文

现象

在安装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. 心情归于平静,心之所向,无非是碎银几两,没有碎银,哪来诗和远方。。。

文章知识点与官方知识档案匹配,可进一步学习相关知识

与[转帖]harbor-db restarting问题相似的内容:

[转帖]harbor-db restarting问题

现象: 在安装harbor后,启动时发现harbor-db 一直是restarting,/harbor-jobservice,/harbor-core 这两是starting 状态,如下图 解决: 1.查看你的数据库的挂载目录(对应的宿主机目录)是什么,去你的harbor的安装目录,例如我的是usr

[转帖]harbor 更改网段(docker-compose)

`https://blog.csdn.net/Darkernote/article/details/119390862` 问题:harbor 安装后网段冲突 docker-compose 一般安装会创建一个默认的网桥ip为172.17,18有和公司网络冲突的可能 解决方案: 一、 查看docker

[转帖]harbor镜像仓库清理操作

https://www.cnblogs.com/FengGeBlog/p/15517706.html 两年前清理过一次harbor镜像,而现在又要面临清镜像的操作了,笔者目前所在的公司镜像是存放在ceph集群内部的,目前约200T,且该存储池是两副本,那么占用空间是400T左右。真的是相当浪费空间了

[转帖]Harbor:修改默认的172网段

背景: harbor 默认启动会随机创建 172 网段的ip地址,跟集群规划的网段冲突 Harbor 网段修改步骤 0. 原来Harbor占用的网段 # 网桥名:harbor_harbor [root@gpunode2 test]# docker network ls NETWORK ID NAME

[转帖]解决Harbor在服务器重启后无法自启动的问题

问题 当部署Harbor的服务器在重启之后,可能会出现Harbor无法跟随系统自启动 解决方案 现假设Harbor的安装目录位置为/usr/local/harbor,在Harbor安装完成之后,在此目录下会生成docker-compose.yml配置文件,可以使用docker-compose操作此文

[转帖]实用小技能:一键获取Harbor中镜像信息,快捷查询镜像

【摘要】一键获取Harbor中的镜像列表,无需登录harbor UI,也可批量下载镜像到本地并保存为tar包。本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接: https://github.com/weopenprojects/WeOpen-Star 前言 我们要查询Harbor中某个项

[转帖]「开源摘星计划」Prometheus监控Harbor(二进制版)

推荐 原创 键客李大白2022-08-08 11:35:07博主文章分类:Harbor进阶实战(企业实战)©著作权 文章标签云原生运维Harbor文章分类kubernetes云计算私藏项目实操分享阅读数10000+ 本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:​ ​https://g

[转帖]docker报错:报错br-xxxx 之Docker-Compose 自动创建的网桥与局域网络冲突

https://www.dianjilingqu.com/653590.html 故障描述: 当我使用docker-compose的方式部署内网的harbor时。它自动创建了一个bridge网桥,与内网的一个网段(172.18.0.1/16)发生冲突,docker 默认的网络模式是bridge ,默

[转帖]k8s对接ceph,ceph-csi方式

1.上传ceph-csi-yaml和ceph-csi-image 两个文件夹到服务器 2.加载 ceph-csi-image里面的镜像 3.将加载好的镜像上传到本地harbor上。 4.修改ceph-csi-yaml文件夹里面的 yaml文件内容 k8s对接ceph离线安装包 #csi-config

[转帖]Docker-Compose 自动创建的网桥与局域网冲突解决方案

https://zhuanlan.zhihu.com/p/379305319 Docker-Compose 自动创建的网桥与局域网冲突解决方案 当我使用docker-compose的方式部署内网的harbor时。它自动创建了一个bridge网桥,与内网的一个网段(172.18.0.1/16)发生冲突