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

发布于:2025-07-07 ⋅ 阅读:(18) ⋅ 点赞:(0)
一、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. 定期备份存储目录

单点故障风险:

需配合持久化存储方案

⭐⭐⭐⭐


网站公告

今日签到

点亮在社区的每一天
去签到