Docker镜像仓库Harbor安装部署全流程指南

Docker镜像仓库Harbor安装部署详细教程

在容器化技术日益普及的今天,Docker镜像仓库成为企业IT架构中不可或缺的一环。Harbor作为一款开源的企业级Docker镜像仓库,以其丰富的功能、高可用性和安全性,受到了广泛认可。本文将详细介绍Harbor的安装部署步骤,帮助开发者及企业用户快速搭建起自己的镜像仓库。

一、Harbor简介

Harbor是由VMware公司开源的一个企业级Docker Registry项目,它提供了权限管理、LDAP集成、审计日志、镜像复制等功能,极大地增强了Docker Registry的安全性和易用性。Harbor支持多租户管理,可以方便地与CI/CD流程集成,是构建私有云和混合云环境下的理想选择。

二、环境准备

在开始安装Harbor之前,需要确保系统满足以下条件:

  • 操作系统:推荐使用CentOS 7或Ubuntu 18.04及以上版本。
  • Docker:安装Docker CE或EE版本,版本号建议18.09及以上。
  • Docker Compose:Harbor使用Docker Compose进行部署,需安装对应版本的Docker Compose。
  • 硬件资源:至少4GB内存,20GB磁盘空间(根据实际镜像存储需求调整)。
  • 网络:确保服务器有稳定的网络连接,能够访问互联网以下载Harbor安装包和依赖。

三、安装步骤

1. 下载Harbor安装包

访问Harbor官方GitHub仓库(https://github.com/goharbor/harbor/releases),下载最新版本的Harbor安装包。以v2.3.3版本为例:

  1. wget https://github.com/goharbor/harbor/releases/download/v2.3.3/harbor-offline-installer-v2.3.3.tgz

解压安装包:

  1. tar xvf harbor-offline-installer-v2.3.3.tgz
  2. cd harbor

2. 配置Harbor

编辑harbor.yml配置文件,主要配置项包括:

  • hostname:设置为服务器的IP地址或域名。
  • http/https:配置访问协议,生产环境建议使用HTTPS。
  • certificate:如果使用HTTPS,需配置证书路径。
  • database:数据库配置,Harbor默认使用内置的PostgreSQL数据库。
  • storage_driver:存储驱动配置,支持filesystem、s3等多种存储后端。
  • auth_mode:认证模式,支持db_auth(数据库认证)和ldap_auth(LDAP认证)。

示例配置片段:

  1. hostname: 192.168.1.100
  2. http:
  3. port: 80
  4. https:
  5. port: 443
  6. certificate: /path/to/your/certificate.pem
  7. private_key: /path/to/your/private_key.pem
  8. database:
  9. password: root123
  10. max_idle_conns: 50
  11. max_open_conns: 100
  12. storage_driver:
  13. name: filesystem
  14. options:
  15. rootdirectory: /data
  16. auth_mode: db_auth

3. 安装并启动Harbor

执行安装脚本:

  1. ./install.sh

安装完成后,Harbor服务将自动启动。可以通过以下命令检查服务状态:

  1. docker-compose ps

4. 访问Harbor

打开浏览器,输入配置的hostname(如https://192.168.1.100),进入Harbor登录界面。默认管理员账号为admin,密码为Harbor12345(请在首次登录后修改密码)。

四、Harbor使用指南

1. 项目管理

登录Harbor后,可以创建项目来组织镜像。每个项目可以有独立的成员和权限设置。

  • 创建项目:在“项目”标签页点击“新建项目”,输入项目名称和描述。
  • 管理成员:在项目详情页,可以添加或删除项目成员,并分配不同的角色(如开发者、访客等)。

2. 镜像上传与下载

  • 上传镜像:使用docker tagdocker push命令将本地镜像推送到Harbor。
  1. docker tag your-image:tag 192.168.1.100/your-project/your-image:tag
  2. docker push 192.168.1.100/your-project/your-image:tag
  • 下载镜像:使用docker pull命令从Harbor拉取镜像。
  1. docker pull 192.168.1.100/your-project/your-image:tag

3. 镜像复制

Harbor支持镜像复制功能,可以在不同的Harbor实例或Registry之间同步镜像。

  • 配置复制规则:在“系统管理”->“复制管理”中添加复制目标,并创建复制规则。
  • 触发复制:可以手动触发复制,或设置定时任务自动执行。

4. 审计与日志

Harbor提供了详细的审计日志,记录所有用户操作,便于安全审计和故障排查。

  • 查看审计日志:在“系统管理”->“审计日志”中查看所有操作记录。
  • 日志轮转:配置日志轮转策略,防止日志文件过大占用磁盘空间。

五、高级配置与优化

1. 使用外部数据库

对于生产环境,建议使用外部数据库(如MySQL、PostgreSQL)替代Harbor内置的数据库,以提高性能和可靠性。

  • 配置外部数据库:在harbor.yml中修改数据库配置,指向外部数据库。
  • 初始化数据库:执行Harbor提供的数据库初始化脚本。

2. 负载均衡与高可用

为了实现Harbor的高可用性,可以使用负载均衡器(如Nginx、HAProxy)分发请求到多个Harbor实例。

  • 配置负载均衡器:设置负载均衡策略,如轮询、最少连接等。
  • 健康检查:配置健康检查机制,自动剔除故障节点。

3. 性能调优

根据实际使用情况,对Harbor进行性能调优:

  • 调整Docker资源限制:在docker-compose.yml中修改CPU、内存限制。
  • 优化存储性能:选择合适的存储后端,如使用SSD硬盘提高I/O性能。
  • 缓存配置:配置镜像缓存,减少重复下载。

六、总结

通过本文的详细介绍,相信读者已经掌握了Harbor的安装部署步骤和使用方法。Harbor作为一款功能强大的企业级Docker镜像仓库,不仅能够满足企业对于镜像管理的需求,还能够通过丰富的功能和灵活的配置,提升整体IT架构的安全性和效率。在实际部署过程中,建议根据具体业务场景和需求进行定制化配置,以达到最佳的使用效果。