Docker-Harbor运维指南

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:

Docker基本情况

Docker基本命令

Dockerfile

Docker镜像

Docker仓库(本小节属于)

Docker原理

Docker网络&存储&日志

Docker-Compose

Docker番外篇

Harbor这个无论是部署还是操作其实相对都还是比较简单,反过来运维理解这个harbor的内在逻辑才是更重要的,尤其目前已经这个Compose已经有9个容器,早期使用Harbor才5个容器。

首先我们就来理解9个容器分别是做什么的。

nginx容器

镜像:nginx-photon:v2.8.3

用途:作为反向代理服务器,统一接收来自外部的所有请求,并将它们分发给后端的不同服务,容器内部只有nginx服务,无其他内容。

harbor-portal容器

镜像:harbor-portal:v2.8.3

用途:提供图形化的用户界面,允许用户通过浏览器访问和管理 Harbor,容器内部有静态文件和nginx进程。

registry容器

镜像:registry-photon:v2.8.3

用途:主要负责存储 Docker 镜像,处理镜像上传 (docker push) 和下载 (docker pull) 请求。容器里面只有registey进程,存储这里是使用的本地目录。

redis容器

镜像:redis-photon:v2.8.3

用途:提供缓存服务,主要用于加速会话管理和临时数据存储,容器内部只有redis进程。

harbor-db容器

镜像:harbor-db:v2.8.3

用途:用于存储 Harbor 系统中的各种数据,包括用户信息、项目信息、镜像仓库信息、访问权限信息、审计日志等。它是 Harbor 系统的数据核心,为其他组件提供数据持久化和查询服务,确保系统在运行过程中的数据完整性和一致性,使用的是postgresql13,容器里面没有ps命令,只能在宿主机上查询。

harbor-core容器

镜像:harbor-core:v2.8.3

用途:包含 Harbor 的核心业务逻辑,如用户界面、认证授权、项目管理,其实就是提供各种后台服务,容器内部是二进制进程,配置文件通过env方式注入。

harbor-jobservice容器

镜像:harbor-jobservice:v2.8.3

用途:执行异步任务,如定时任务、镜像复制、漏洞扫描等后台作业。容器内部只有二进制程序。

registryctl容器

镜像:harbor-registryctl:v2.8.3

用途:用于控制和管理 Harbor 的镜像注册服务(Registry)。它可以执行诸如启动、停止、配置 Registry 等操作,并且在 Registry 服务的生命周期管理中起到重要作用。简单来说就是他可以管理registry。容器内部只有一个二进制程序。

harbor-log容器

镜像:harbor-log:v2.8.3

用途:用于集中收集和管理 Harbor 系统中的日志信息。它可以接收来自 Harbor 其他组件(如registry-photon、harbor-core等)的日志数据,并进行统一的存储、处理和分析。可以理解这个容器是把其他所有容器的日志进行收集,容器里面只有一个rsyslogd。

认识不同的容器是做什么用的,对应维护整个Harbor是很有用处的,比如上传失败,我们可以找到对应的容器分析日志,然后判断问题。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

相关推荐
xuhe27 分钟前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
Lsir10110_24 分钟前
【Linux】进程信号(下半)
linux·运维·服务器
skywalk816340 分钟前
unbound dns解析出现问题,寻求解决之道
运维·服务器·dns·unbound
酉鬼女又兒41 分钟前
零基础入门Linux指南:每天一个Linux命令_pwd
linux·运维·服务器
云飞云共享云桌面43 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
skywalk81631 小时前
走近科学:unbound dns域名服务器自己本地解析出现问题,寻求解决之道
运维·服务器·dns·unbound
zl_dfq1 小时前
Linux 之 【多线程】(pthread_xxx、轻量级进程、原生线程库、线程ID、__thread、线程栈、线程与信号、线程与程序替换)
linux
choke2331 小时前
Python 基础语法精讲:数据类型、运算符与输入输出
java·linux·服务器
袁煦丞 cpolar内网穿透实验室1 小时前
远程调试内网 Kafka 不再求运维!cpolar 内网穿透实验室第 791 个成功挑战
运维·分布式·kafka·远程工作·内网穿透·cpolar
星火s漫天1 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask