现象:

在安装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问题的更多相关文章

  1. Harbor作为Docker的镜像中心

    转载于网络 我们采用Harbor作为Docker的镜像中心. 有几个原因: Harbor采用Docker Compose拉起维护,简单方便. 采用Nginx作为入口网关,各种参数配置相对熟悉. 基于N ...

  2. CentOS 安装 Harbor的简单过程(仅使用http 未使用https)

    1. 下载离线安装包 在线安装 99% 会失败, 建议还是使用离线安装包 下载地址 https://github.com/vmware/harbor/releases 20180719 时最新版本的g ...

  3. 搭建Harbor私有镜像仓库--v1.5.1

     搭建Harbor私有镜像仓库--v1.5.1 1.介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境 ...

  4. 基于Harbor和CephFS搭建高可用Private Registry

    我们有给客户搭建私有容器仓库的需求.开源的私有容器registry可供选择的不多,除了docker官方的distribution之外,比较知名的是VMware China出品的Harbor,我们选择了 ...

  5. (四)VMware Harbor 配置文件

    VMware Harbor 配置文件 :harbor.yml # Configuration file of Harbor # The IP address or hostname to access ...

  6. Ubuntu 安装docker CE以及harbor

    Docker CE安装 系统建议版本:Ubuntu 16.04 官方安装文档连接:https://docs.docker.com/install/linux/docker-ce/ubuntu/#pre ...

  7. harbor的安装和简单使用【h】

    安装docker的私有仓库, 利用vmware提供的harbor工具, 参考Docker 私有仓库方案比较与搭建, Harbor安装 -- 企业级Registry仓库 2.2harborProject ...

  8. Harbor修改暴露端口

    把原来的端口映射改成1180 一 修改docker-compose.yml [root@topcheer ~]# cat /mnt/harbor/docker-compose.yml version: ...

  9. 企业级Registry仓库Harbor的部署与简介

    Harbor 是Vmware公司开源的企业级Docker Registry管理项目,开源项目地址:https://github.com/vmware/harbor Harbor的所有组件都在Docke ...

  10. linux搭建harbor与使用

    条件:安装docker&docker-compose 如未安装,请看:linux离线安装docker + docker-compose harbor 1.下载 下载地址:https://git ...

随机推荐

  1. 前端系列:基于 Flex 弹性布局详解

    目录 基本介绍 基本概念 父项常见属性 flex-direction justify-content flex-wrap align-items align-content flex-flow 子项常 ...

  2. zookeeper源码(05)数据存储

    本文详细分析一下zookeeper的数据存储. ZKDatabase 维护zookeeper服务器内存数据库,包括session.dataTree和committedlog数据,从磁盘读取日志和快照后 ...

  3. JS模块化编程规范1——require.js

    目录 1. 概述 2. 详论 2.1. 定义 2.2. 调用 2.3. 入口 3. 结果 4. 参考 1. 概述 require.js是各种网络APP中非常常见的JS依赖库,它其实不仅仅是个模块加载器 ...

  4. 分门别类输入输出,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本数据类型和输入输出EP03

    前文再续,Go lang和Python一样,基础数据类型有着很多分类,分门别类,一应俱全.它们对应着不同的使用场景,分别是:整形.浮点.字符.字符串.布尔等等.常用的基本数据类型经常会参与日常业务逻辑 ...

  5. 解析Stream foreach源码

    摘要:串行流比较简单,对于parallelStream,站在它背后的是ForkJoin框架. 本文分享自华为云社区<深入理解Stream之foreach源码解析>,作者:李哥技术 . 前言 ...

  6. 用IoT放羊养牛,不出门也能知道它们的动向

    摘要:羊圈里几只小羊羔有点无精打采,"叮",牧民拉索划开手机,第一时间得知了这个情况.草场上有只牛一直到天黑都没回来,拉索再次通过手机软件,很快定位到那只独自流落在外的牛儿-- 本 ...

  7. DBA:介里有你没有用过的“CHUAN”新社区版本Redis6.0

    摘要:华为云DCS Redis 6.0社区版带来了极致性能.功能全面.可靠性强.性价比高的云服务,并且完全兼容开源Redis,客户端无需修改代码,开通后即可使用,使企业完全无需后顾之忧就能享受到业务响 ...

  8. 带你掌握不同平台下,探索JDK源码所需的native方法

    摘要:要探索JDK的核心底层源码,那必须掌握native用法.文章中会以"获取系统的默认时区"为例,介绍说明如何查看native对应方法的源码. 本文分享自华为云社区<要探索 ...

  9. Github 自建一个 Helm Charts 库

    前言 在构建私有的 charts 仓库之前,有几个先决条件: Helm 已经安装,版本号是 v3 拥有一个 Github 账号 初始化仓库 在 github 仓库上新建一个仓库,我这里命名为 helm ...

  10. C#9.0:Top-Level Programs

    我们称之为顶级层序 用 C# 编写一个简单的程序需要大量的样板代码,引用,类.方法.结构体等: 1 class Program 2 { 3 static void Main(string[] args ...