在 CentOS 7 上全面部署 Harbor 镜像仓库指南

一、环境准备与系统要求

在 CentOS 7 上部署 Harbor 镜像仓库前,需确保系统满足基础环境要求。首先,系统需为 CentOS 7 64 位版本,推荐使用最新稳定版以避免兼容性问题。其次,硬件配置方面,建议至少分配 4GB 内存(生产环境建议 8GB 以上)、2 核 CPU 及 40GB 磁盘空间,以确保 Harbor 稳定运行及存储镜像需求。网络配置上,需确保服务器有稳定的公网或内网 IP,并开放 80(HTTP)、443(HTTPS,若启用)、22(SSH 管理)等端口,避免防火墙拦截导致服务不可用。

二、依赖安装与前置条件

Harbor 的运行依赖 Docker 及 Docker Compose,因此需先完成这两者的安装。对于 Docker,可通过官方 YUM 仓库安装:

  1. # 添加 Docker YUM 仓库
  2. sudo yum install -y yum-utils
  3. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  4. # 安装 Docker CE
  5. sudo yum install -y docker-ce docker-ce-cli containerd.io
  6. # 启动 Docker 并设置开机自启
  7. sudo systemctl start docker
  8. sudo systemctl enable docker

安装 Docker Compose 则需下载二进制文件并赋予执行权限:

  1. sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. sudo chmod +x /usr/local/bin/docker-compose

验证安装:

  1. docker --version
  2. docker-compose --version

三、Harbor 下载与配置

从 Harbor 官方 GitHub 仓库下载最新版本(以 v2.9.0 为例):

  1. wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-online-installer-v2.9.0.tgz
  2. tar xvf harbor-online-installer-v2.9.0.tgz -C /opt
  3. cd /opt/harbor

编辑配置文件 harbor.yml,关键配置项包括:

  • hostname:设置为服务器 IP 或域名(如 192.168.1.100)。
  • http/https:生产环境建议启用 HTTPS,需配置 ssl_certssl_cert_key 路径。
  • password:设置管理员密码(如 Harbor12345)。
  • data_volume:指定镜像存储路径(如 /data/harbor)。

示例配置片段:

  1. hostname: 192.168.1.100
  2. http:
  3. port: 80
  4. https:
  5. port: 443
  6. certificate: /path/to/cert.pem
  7. private_key: /path/to/key.pem
  8. harbor_admin_password: Harbor12345
  9. data_volume: /data/harbor

四、Harbor 安装与启动

执行安装脚本前,确保 Docker 已运行:

  1. sudo systemctl status docker # 确认状态为 active (running)

运行安装命令:

  1. sudo ./install.sh

安装完成后,检查容器状态:

  1. docker-compose ps

输出应显示所有容器(如 nginxharbor-coreregistry 等)状态为 Up

五、访问与验证 Harbor

通过浏览器访问 http://192.168.1.100(或配置的域名),使用默认账号 admin 和设置的密码登录。验证功能包括:

  • 创建项目:在控制台创建测试项目(如 test-project)。
  • 推送镜像
    1. docker login 192.168.1.100
    2. docker tag nginx:latest 192.168.1.100/test-project/nginx:v1
    3. docker push 192.168.1.100/test-project/nginx:v1
  • 拉取镜像
    1. docker pull 192.168.1.100/test-project/nginx:v1

六、常见问题与优化建议

  1. 端口冲突:若 80/443 端口被占用,修改 harbor.yml 中的端口或停止冲突服务。
  2. 存储空间不足:定期清理未使用的镜像,或扩展 /data/harbor 磁盘空间。
  3. 性能优化
    • 启用 HTTPS 时,使用 Let’s Encrypt 免费证书简化配置。
    • 配置 harbor.yml 中的 log 级别为 info 以减少日志量。
  4. 高可用部署:生产环境建议使用 Harbor 的高可用方案,如多节点部署或结合负载均衡器。

七、总结与扩展

通过以上步骤,您已成功在 CentOS 7 上部署 Harbor 镜像仓库,实现了镜像的集中存储与管理。Harbor 不仅支持基本的镜像推送/拉取,还提供用户认证、权限控制、镜像复制等高级功能,适合企业级 DevOps 流程。未来可探索:

  • 集成 LDAP/OAuth 实现单点登录。
  • 使用 Harbor 的 API 进行自动化镜像管理。
  • 部署 Notary 实现镜像签名,增强安全性。

掌握 Harbor 的部署与运维,将显著提升团队在容器化环境中的协作效率与安全性。