一、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. 定期备份存储目录 |
单点故障风险: 需配合持久化存储方案 |
⭐⭐⭐⭐ |