20250706-10-Docker快速入门(下)-Harbor镜像仓库_笔记

一、Harbor镜像仓库搭建与使用

1. Harbor概述



  • 定义: 由VMWare公司开源的容器镜像仓库系统
  • 技术基础: 在Docker Registry基础上进行企业级扩展
  • 核心特性:
    • 提供管理用户界面(GUI)
    • 基于角色的访问控制(RBAC)
    • 支持

      AD/LDAP\mathrm{AD}/\mathrm{LDAP}AD/LDAP

      集成
    • 完善的审计日志功能
  • 应用场景: 解决生产环境中多节点镜像分发管理问题,替代低效的导出导入方式
  • 官方资源:
    • 官网: https://goharbor.io/
    • GitHub: https://github.com/goharbor/harbor
2. Harbor部署先决条件与部署



1)先决条件
  • 硬件要求:
    • 最低配置: 2核CPU/4GB内存/40GB硬盘
    • 推荐配置: 4核CPU/8GB内存/160GB硬盘
  • 软件要求: (以官网最新版本为准)
    • Docker CE 17.06+版本
    • Docker Compose 1.18+版本
  • 资源消耗说明: 因包含7-8个服务组件,资源占用较高
2)部署Harbor



  • 安装方式选择:
    • 在线安装: 包体积小(约9KB),依赖网络下载镜像
    • 离线安装: 包体积大(约530MB),包含所有依赖镜像
  • 推荐方案: 采用离线安装包(harbor-offline-installer-v2.1.0.tgz)
  • 部署步骤:
    • 解压安装包: tar zxvf harbor-offline-installer-v2.0.0.tgz
    • 进入目录: cd harbor
    • 配置准备:
      • 复制模板文件: cp harbor.yml.tmpl harbor.yml
      • 修改配置:
        • 设置hostname: reg.ctnrs.com
        • 注释https相关配置
        • 设置管理员密码: Harbor12345
    • 执行安装:
      • 准备环境: ./prepare
      • 正式安装: ./install.sh
  • 安装过程说明: 自动导入7-8个服务镜像并启动对应容器
3. Harbor基本使用



  • 核心功能:实现镜像的集中管理和分发,主要包含推送(push)和拉取(pull)两个基本操作
  • 典型场景:将本地构建的镜像推送到远程仓库,其他主机从仓库拉取使用
1)配置http镜像仓库可信任
  • 配置文件:修改/etc/docker/daemon.json,添加insecure-registries字段
  • 配置示例:
  • 生效方式:配置后需执行systemctl restart docker重启服务
  • 注意事项:
    • 仅HTTP协议需要此配置,HTTPS需配置证书
    • 可配置多个仓库地址,用逗号分隔
    • 所有客户端都需要配置
2)打标签



  • 命令格式:docker tag SOURCE_IMAGE[:TAG] 仓库地址/项目名/REPOSITORY[:TAG]
  • 操作要点:
    • 必须包含完整的仓库地址(如192.168.31.61/library/tomcat)
    • 可通过Harbor界面获取推送命令模板
    • 本质是为镜像创建包含仓库路径的别名
  • 示例:
3)上传



  • 前置条件:
    • 完成镜像打标签
    • 配置仓库可信任
    • 登录仓库docker login 仓库地址
  • 推送命令:docker push 完整镜像路径
  • 常见问题:
    • 未登录时报错unauthorized
    • HTTP未配置时报connection refused
    • 权限不足需检查项目成员角色
  • 完整流程示例:
4)下载



  • 拉取方式:
    • 直接使用推送地址:docker pull 192.168.31.61/library/tomcat:v1
    • 使用SHA256校验值(可选)
  • 客户端要求:
    • 同样需要配置insecure-registries
    • 无需登录即可拉取公开项目
  • 效果验证:
    • Harbor界面会显示下载次数统计
    • 本地通过docker image ls查看
5)配置可信任总结



  • 验证方式:通过docker info查看Insecure Registries字段
  • HTTPS区别:
    • 需要配置证书路径
    • 无需insecure-registries配置
    • 更安全但配置复杂
  • 多仓库配置:JSON数组中可配置多个地址
4. Harbor部署与管理
1)离线安装
  • 安装步骤:
    • 解压离线包:tar zxvf harbor-offline-installer-v2.0.0.tgz
    • 复制配置文件:cp harbor.yml.tmpl harbor.yml
    • 修改配置:vi harbor.yml
    • 执行安装:./install.sh
2)服务管理
  • 关键命令:
    • 启动所有服务:docker-compose up -d
    • 查看状态:docker-compose ps
    • 停止服务:docker-compose stop
  • 服务组成:包含9个核心服务(nginx、registry、portal等)
  • 访问方式:默认通过80端口访问Web界面
3)配置文件
  • 关键配置项:
    • hostname: 访问地址(IP或域名)
    • http.port: HTTP服务端口(默认80)
    • https: HTTPS相关配置(端口、证书路径)
    • harbor_admin_password: 管理员密码(默认Harbor12345)
  • 修改建议:
    • 生产环境建议启用HTTPS
    • 首次安装可先注释HTTPS配置
二、知识小结

知识点

核心内容

考试重点/易混淆点

难度系数

Harbor镜像仓库搭建

集中管理Docker镜像的专业系统,支持多机集群部署

最低配置要求:2核CPU/4GB内存/40GB硬盘

推荐配置:4核CPU/8GB内存

⭐⭐⭐

Docker Compose工具

批量管理容器工具,通过YAML文件定义多容器关系

与原生Docker命令的区别:

- 一键式部署/卸载

- 服务依赖管理

⭐⭐

镜像推送流程

1. 打标签(docker tag)

2. 登录仓库(docker login)

3. 推送镜像(docker push)

HTTP协议需配置:

/etc/docker/daemon.json添加insecure-registries

⭐⭐⭐⭐

镜像拉取验证

1. 配置仓库信任

2. 直接执行docker pull

匿名拉取与认证推送的区别

下载计数功能

⭐⭐

Harbor管理界面

Web UI提供:

- 镜像浏览

- 用户权限管理

- 项目隔离

默认凭证:

admin/Harbor12345

主题切换支持

离线安装优势

包含所有依赖镜像(530MB)

避免网络拉取超时

与在线安装包(9.24KB)对比

prepare镜像需单独下载

⭐⭐⭐

生产环境建议

1. 启用HTTPS+证书

2. 定期备份存储目录

单点故障风险:

需配合持久化存储方案

⭐⭐⭐⭐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/88030.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/88030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript之数组方法详解

JavaScript之数组方法详解一、数组的创建与基础特性1.1 数组的创建方式1.2 数组的核心特性二、修改原数组的方法2.1 添加/删除元素2.1.1 push():尾部添加元素2.1.2 pop():尾部删除元素2.1.3 unshift():头部添加元素2.1.4 shift():…

品牌增长困局突围:大模型时代,AI 如何帮我的品牌少走弯路?

AI时代对企业战略的冲击与机遇 在当今瞬息万变的商业环境中,大模型的崛起正以前所未有的力量重塑着各行各业的竞争格局。传统的市场营销、品牌传播模式正在被颠覆,消费者获取信息、认知品牌的方式发生了根本性变化。如果说过去十年是“互联网”的时代&am…

从单体到微服务:Spring Cloud 开篇与微服务设计

一、单体架构的核心痛点与微服务化目标 1. 单体架构的致命缺陷问题表现后果可维护性差百万行代码耦合,修改一处需全量测试迭代周期长,创新停滞扩展性受限无法按模块独立扩缩容(如订单模块需扩容时,用户模块被迫一起扩容&#xff0…

篇二 OSI七层模型,TCP/IP四层模型,路由器与交换机原理

一 前言 本章节主要介绍OSI七层模型,TCP/IP四层模型划分,以及日常使用的路由器,交换机的一些基础知识 二 OSI 七层 OSI(Open Systems Interconnection Model)即开放式系统互联模型,是国际标准化组织提出的&…

【JavaSE面试篇】Java集合部分高频八股汇总

目录 概念 1. 说说Java中的集合? 2. Java中的线程安全的集合有什么? 3. Collections和Collection的区别? 4. 集合遍历的方法有哪些? List 5. 讲一下java里面list的几种实现,几种实现有什么不同? 6.…

利用低空无人机影像进行树种实例分割

在本项先导研究中,我们开发了一个基于低空无人机影像的本地树种机器学习实例分割模型,用于生态调查。该实例分割包括单株树冠的描绘和树种的分类。我们利用无人机影像对20个树种及其对应的学名进行了训练,并收集了这些树种的学名用于机器学习。为了评估该机器学习模型的准确…

二、Flutter基础

目录1. 什么是Widget?Flutter中的Widget分为哪几类?2. StatelessWidget和StatefulWidget的区别3. StatefulWidget生命周期4. 什么是BuildContext?5. 如何优化Widget重建?6. Flutter布局机制7. Row/Column的主轴和交叉轴8. Expande…

设计模式笔记_创建型_建造者模式

1. 建造者模式介绍 建造者模式是一种创建型设计模式,旨在通过将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。它通常用于构造步骤固定但具体实现可能变化的对象。 1.1 功能: 封装复杂对象的创建过程:适…

【ROS2 自动驾驶学习】03-ROS2常用命令

目录 1. ros2 pkg list 2. ros2 node list 3. ros2 node info 节点名称 4. ros2 topic list 5. ros2 topic info 话题名 6. ros2 topic type 话题名 7. ros2 topic find 消息类型 8. ros2 service list 9. ros2 service type 服务名称 10. ros2 service find 服…

MyBatis-Plus:提升数据库操作效率的利器

在Java开发中,MyBatis是一个非常流行的持久层框架,它简化了数据库操作,提供了灵活的SQL映射功能。然而,随着项目规模的扩大和业务复杂度的增加,开发者需要更高效、更便捷的方式来处理数据库操作。MyBatis-Plus应运而生…

App爬虫实战篇-以华为真机手机爬取集换社的app为例

前言 在开始学习这篇文章之前,建议你先按照之前2篇文章(App爬虫工具篇-Appium安装和App爬虫工具篇-appium配置),配置必要的环境,才可以继续完成本章节内容。 电脑连接手机 可以通过usb连接电脑。如果通过adb devices命令,发现没有连接上,就需要手动配置一些信息 华为…

Vue3组合式API应用:状态共享与逻辑复用最佳实践

Vue3组合式API应用:状态共享与逻辑复用最佳实践 在Vue3中,组合式API的引入为我们提供了一种全新的方式来编写Vue组件,并有效地解决了混入和繁琐逻辑复用的问题。本文将为您介绍如何在Vue3中使用组合式API来实现状态共享与逻辑复用的最佳实践&…

在linux 上使用tcpdump监听http 端口的报文并分析

这里写目录标题 1. 使用 tcpdump(原始报文捕获)观察:报文翻译与分析(按行解释)第一段:客户端请求报文HTTP 请求头JSON 请求体第二段:服务器响应报文HTTP 响应头响应体关键问题分析在 Linux 上监听 HTTP 端口的报文,有多种工具可以实现。以下是几种常用方法的详细说明:…

XSStrike 进行 XSS 漏洞测试

XSStrike 是一个功能强大的 XSS 漏洞测试工具,专为检测、验证和利用反射型、存储型、DOM型 XSS 漏洞而设计,适合配合手工测试,也可用于自动化发现。 🛠️ 1. 安装 XSStrike 确保系统中有 Python3 和 git: git clone ht…

any实现(基于LLVM中libcxx实现分析)

本文根据LLVM中libcxx的实现,分析了std::any和std::variant的具体实现。 1 简介 在 C17 标准中,std::any提供了一种类型安全的方式来存储任意类型的值。它使用类型擦除(type erasure)技术实现,使得一个对象可以包含任…

网安系列【13】之渗透测试:前期信息收集

文章目录 前期信息收集信息收集的分类信息收集的内容域名信息收集Whois备案信息whois反查SSL证书查询域名收集工具IP收集CDN信息收集CDN判断CDN绕过 端口信息收集常见端口介绍FTP-21SSH-22WWW-80NetBlOSSessionService-139/445MySQL-3306RDP-3389Redis-6379Tomcat-8080 端口扫描…

自动驾驶传感器的标定与数据融合

目录 IMU的标定 相机的标定 激光雷达和组合惯导标定 相机和激光雷达标定 传感器数据融合 多传感器融合数据处理 传感器数据融合算法 环境感知与预测 应用实例——车道线识别 应用实例——车辆行人识别 应用实例——交通标志识别 定位系统 基于惯性导航仪的定位技术…

27.移除元素(快慢指针)

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作: 更改…

Spring AI:ETL Pipeline

提取、转换和加载(ETL)框架是检索增强生成(RAG)用例中数据处理的支柱。ETL管道协调从原始数据源到结构化向量存储的流程,确保数据以最佳格式供AI模型检索。RAG用例是文本,通过从数据体中检索相关信息来增强…

26.安卓逆向2-frida hook技术-解密响应

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 工具下载: 链接:https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取码&#xff1…