CentOS上高效部署Harbor镜像仓库指南

CentOS部署Harbor镜像仓库全攻略

在容器化技术日益盛行的今天,构建私有镜像仓库成为企业保障应用安全、提升部署效率的关键一环。Harbor作为一款开源的企业级Docker Registry管理工具,以其强大的权限控制、镜像复制、漏洞扫描等功能,深受开发者青睐。本文将详细阐述如何在CentOS系统上部署Harbor镜像仓库,为开发者提供一份全面、实用的操作指南。

一、环境准备

1.1 系统要求

  • 操作系统:CentOS 7或更高版本(推荐CentOS 8)。
  • 硬件配置:至少2核CPU、4GB内存(根据实际使用需求调整)。
  • 磁盘空间:根据存储镜像数量规划,建议不少于100GB。
  • 网络环境:确保服务器能够访问互联网,或配置好内部网络环境。

1.2 安装依赖软件

在部署Harbor之前,需要安装Docker和Docker Compose,它们是Harbor运行的基础。

安装Docker

  1. # 卸载旧版本(如果存在)
  2. sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
  3. # 安装依赖
  4. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  5. # 添加Docker仓库
  6. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  7. # 安装Docker CE
  8. sudo yum install -y docker-ce docker-ce-cli containerd.io
  9. # 启动Docker服务
  10. sudo systemctl start docker
  11. sudo systemctl enable docker

安装Docker Compose

  1. # 下载最新版Docker Compose
  2. sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  3. # 添加执行权限
  4. sudo chmod +x /usr/local/bin/docker-compose
  5. # 验证安装
  6. docker-compose --version

二、Harbor安装与配置

2.1 下载Harbor安装包

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

  1. wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgz
  2. tar xvf harbor-offline-installer-v2.4.0.tgz
  3. cd harbor

2.2 配置Harbor

编辑harbor.yml文件,根据实际需求修改以下关键配置:

  • hostname:设置为服务器的IP地址或域名。
  • http/https:根据安全需求选择协议,生产环境建议使用HTTPS。
  • port:默认80(HTTP)或443(HTTPS),如有冲突需修改。
  • certificate/private_key:若使用HTTPS,需配置证书和私钥路径。
  • database:默认使用内置的PostgreSQL数据库,也可配置外部数据库。
  • harbor_admin_password:设置Harbor管理员密码。

示例配置片段:

  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. harbor_admin_password: Harbor12345

2.3 安装Harbor

执行以下命令启动Harbor安装:

  1. sudo ./install.sh

安装过程中,脚本会自动下载依赖镜像、配置数据库、启动服务。安装完成后,访问http://<hostname>(或HTTPS地址),使用默认管理员账号(admin)和配置的密码登录。

三、Harbor使用与维护

3.1 镜像推送与拉取

推送镜像

  1. 登录Harbor:
  1. docker login <harbor_hostname>

输入管理员账号或具有推送权限的用户名和密码。

  1. 标记镜像:
  1. docker tag <local_image>:<tag> <harbor_hostname>/<project_name>/<image_name>:<tag>
  1. 推送镜像:
  1. docker push <harbor_hostname>/<project_name>/<image_name>:<tag>

拉取镜像

  1. docker pull <harbor_hostname>/<project_name>/<image_name>:<tag>

3.2 项目管理

Harbor支持多项目管理,管理员可以创建项目、设置访问权限、配置镜像复制规则等。

  • 创建项目:登录Harbor Web界面,进入“项目”页面,点击“新建项目”。
  • 设置权限:在项目设置中,可以配置用户或用户组的读写权限。
  • 镜像复制:配置镜像复制规则,实现不同Harbor实例间的镜像同步。

3.3 维护与升级

日常维护

  • 监控:使用Prometheus、Grafana等工具监控Harbor运行状态。
  • 日志:定期检查Harbor日志文件(/var/log/harbor/),排查潜在问题。
  • 备份:定期备份Harbor数据库和配置文件,防止数据丢失。

升级Harbor

升级Harbor时,需先备份当前数据,然后下载新版本安装包,按照官方文档步骤进行升级。升级过程中,Harbor服务会短暂中断,建议在低峰期进行。

四、安全加固

4.1 HTTPS配置

生产环境必须启用HTTPS,以保障数据传输安全。配置步骤如下:

  1. 申请或生成SSL证书和私钥。
  2. 将证书和私钥文件放置在指定路径(如/data/cert/)。
  3. 修改harbor.yml文件,启用HTTPS并配置证书路径。
  4. 重新运行./install.sh脚本,应用配置变更。

4.2 访问控制

  • 用户认证:集成LDAP、OAuth2等认证方式,实现单点登录。
  • IP白名单:在Harbor配置中设置IP白名单,限制访问来源。
  • 审计日志:启用Harbor审计功能,记录所有用户操作。

五、总结与展望

通过本文的详细介绍,开发者应已掌握在CentOS系统上部署Harbor镜像仓库的全过程。Harbor的强大功能不仅提升了镜像管理的效率,更通过丰富的安全特性保障了容器环境的安全。未来,随着容器技术的不断发展,Harbor也将持续进化,为开发者提供更加便捷、安全的镜像管理服务。建议开发者定期关注Harbor官方文档,了解最新功能和最佳实践,不断优化自身的容器化部署方案。