Harbor简单搭建以及异常排查的过程与思路


前言

我发现我总是能够遇到别人遇不到的问题.
本来搭建十分钟就可以搭建完成
结果我硬生生的搭建了四十分钟.
为了保证下次不再浪费时间.
这里加单总结一下遇到的问题

系统准备

这次使用的是UOS V20 1050E x86的操作系统.
简单起见: yum 安装docker
yum install docker -y
发现自带安装的是 18.09的版本.
复制一个docker-compose 到/usr/bin 目录下.
systemctl enable docker
systemctl restart docker

介质准备

从github 上面下载最新版本 harbor
2022.11. 能够下载的版本是 2.6.1
将tar包放到/harbor 目录下 并且解压缩
scp harbor.yml.tmpl harbor.yml 注意进行修改:
修改域名, 建议直接还是用https 避免不必要的麻烦.
DNS设置IP地址和域名的映射.
然后下载证书放到指定的目录
修改 harbor admin的密码
修改 数据库的密码
执行 ./prepare 的脚本进行创建启动脚本

安装

执行 ./install.sh 执行安装即可.
速度很快.
安装完之后 进行查询
docker ps |grep -v healthy
如果查不到没有不健康的 容器.
说明搭建完成正常.

排错的过程

需要注意几个目录:
harbor的日志存放路径为:
/var/log/harbor
harbor的存储的默认文件是
/data 所以排查问题的思路是
通过/var/log/harbor/里面的日志来分析.

排错记录1

第一次遇到一个问题是 nginx 和registry启动失败
一开始不知道具体原因
通过查看日志发现是文件权限的问题
错误记录为: "/etc/nginx/nginx.conf" failed (13: Permission denied) 被逼无奈修改了 /harbor/common/config/proxy 以及 registry
内的文件权限, 修改为 777 的权限,服务就可以正常启动了.

排错记录2

Registry 发现总是无法启动, 错误信息是数据库登录失败
后来想到第一次 install和第二次install 导致的data差异
应该是 harbor 防止多次安装导致数据丢失, 所以没有强制清理
第一次install的数据库密码已经生成
第二次修改了密码再次install就导致配置文件与数据库不一致了.
所以必须按照严格说明进行处理, 先修改好固定住, 再进行处理.

Harbor简单搭建以及异常排查的过程与思路的更多相关文章

  1. 2020-04-10:有一个 API 服务,后端只使用了数据库来持久化数据,平时在 API 网关上监控到响应时间平均值大约为10ms,现在突然上涨到 5s,而且一直居高不下。请简单描述一下你排查这个问题的思路。

    福哥答案2020-04-11: 1 排查api服务 是否是有大量请求 2 查看mysql的系统情况 cpu 磁盘io 连接数 还是要先定位问题出现在哪个环节    

  2. WSL2 网络异常排查 [ping 不通、网络地址异常、缺少默认路由、被宿主机防火墙拦截]

    最近在使用的 wsl2 的时候突然发现 wsl2 无法正常联网,即 ping 不通外网以及宿主机的 wsl 网卡.但是将 wsl 版本设置为 1 就可以联网了. 如果你是正常使用的时候,并且自己没有手 ...

  3. docker registry v2与harbor的搭建

    docker的仓库 1 registry的安装 docker的仓库我们可以使用docker自带的registry,安装起来很简单,但是可能有点使用起来不是很方便.没有图形化. 开始安装 使用镜像加速器 ...

  4. docker私库harbor的搭建

    1.文件下载 # wget https://storage.googleapis.com/harbor-releases/harbor-online-installer-v1.5.1.tgz 安装官网 ...

  5. python 简单搭建非阻塞式单进程,select模式,epoll模式服务

    由于经常被抓取文章内容,在此附上博客文章网址:,偶尔会更新某些出错的数据或文字,建议到我博客地址 :  --> 点击这里 可以看我的上篇文章 <python 简单搭建阻塞式单进程,多进程, ...

  6. 基于腾讯云centos简单搭建VSFTP

    基于腾讯云centos7.3搭建VSFTP 环境分析: 基于vsftp服务在于云主机上,所以推荐使用FTP的PASV模式: FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动 ...

  7. Mysql死锁如何排查:insert on duplicate死锁一次排查分析过程

    前言 遇到Mysql死锁问题,我们应该怎么排查分析呢?之前线上出现一个insert on duplicate死锁问题,本文将基于这个死锁问题,分享排查分析过程,希望对大家有帮助. 死锁案发还原 表结构 ...

  8. python简单搭建HTTP Web服务器

    对于Python 2,简单搭建Web服务器,只需在i需要搭建Web服务器的目录(如C:/ 或 /home/klchang/)下,输入如下命令: python -m SimpleHTTPServer 8 ...

  9. springmvc4环境简单搭建和定时任务

    之前复制粘贴创建了几个ssm的项目,然而回头让自己写的时候还是一头雾水,究其原因是spring的陌生.仅仅是写过几个helloworld而已.而且是照着写.我都不知道springmvc到底需要多少ja ...

  10. 1.0、Struts2的简单搭建方法

    一.Struts2:是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet:用于jsp页面与Java代码之间的交互. 1.核心:Filter拦截器,对所有的请求进行拦截. 2.工作 ...

随机推荐

  1. 实时媒体AI,打破内容创作天花板,加速视频创新

    摘要:互联网视频经过几代发展,用户体验快速升级,对创新玩法.互动性要求越来越高.那如何解决这些问题? 媒体AI,是行业共识.华为云提供云原生实时媒体AI能力,联合伙伴打造AI算法开放生态市场,加速视频 ...

  2. 云原生数据库风起云涌,华为云GaussDB破浪前行

    摘要:云原生数据库,实现多云协同.混合云解决方案.边云协同等能力的数据库. Gartner预测,2021年云数据库在整个数据库市场中的占比将首次达到50%:2023年75%的数据库将基于云的技术来构建 ...

  3. 深度克隆从C#/C/Java漫谈到JavaScript真复制

    如果只想看js,直接从JavaScript标题开始. 在C#里面,深度clone有System.ICloneable.创建现有实例相同的值创建类的新实例 克隆原理 值类型变量与引用类型变量 如果我们有 ...

  4. 火山引擎 ByteHouse:TB 级数据下,如何实现高效、稳定的数据导入

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近期,火山引擎开发者社区.火山引擎数智平台(VeDI)联合举办以<数智化转型背景下的火山引擎大数据技术揭秘& ...

  5. Nacos 服务状态监听四种写发

    监听服务的四种实现方式,以监听 Nacos 服务为例 1. 传统方式 public void subscribe() { try { NamingService namingService = Nam ...

  6. QML笔记(四)之QML鼠标事件

    QML笔记(四)之QML鼠标事件

  7. ZOJ 3537 Cake (凸包 + 区间DP && 最优三角形剖分)

    题目链接:Here 题意: 给定 \(n\)​​ 个点的坐标,先问这些点能否组成一个凸包,如是凸包,问用不相交的线来切这个凸包使得凸包只由三角形组成,根据 \(cost_{i, j} = |x_i + ...

  8. 0x02 基本算法-枚举、模拟、递推

    递归实现指数型枚举 int _, n, m, k, x, y; vector<int> vec; void calc(int x) { if (x == n + 1) { for (int ...

  9. 一、@Configuration、@Conponent 、@ComponentScan 注解等

    一句话概括 区别: @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例.2. 可以直接调用方法,不需要 @Autowired 注入后使用. ...

  10. 【调试】GDB使用总结

    启动 在shell下敲gdb命令即可启动gdb,启动后会显示下述信息,出现gdb提示符. ➜ example gdb GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1 Cop ...