一、环境准备与系统要求
在 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 仓库安装:
# 添加 Docker YUM 仓库sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装 Docker CEsudo yum install -y docker-ce docker-ce-cli containerd.io# 启动 Docker 并设置开机自启sudo systemctl start dockersudo systemctl enable docker
安装 Docker Compose 则需下载二进制文件并赋予执行权限:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose
验证安装:
docker --versiondocker-compose --version
三、Harbor 下载与配置
从 Harbor 官方 GitHub 仓库下载最新版本(以 v2.9.0 为例):
wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-online-installer-v2.9.0.tgztar xvf harbor-online-installer-v2.9.0.tgz -C /optcd /opt/harbor
编辑配置文件 harbor.yml,关键配置项包括:
- hostname:设置为服务器 IP 或域名(如
192.168.1.100)。 - http/https:生产环境建议启用 HTTPS,需配置
ssl_cert和ssl_cert_key路径。 - password:设置管理员密码(如
Harbor12345)。 - data_volume:指定镜像存储路径(如
/data/harbor)。
示例配置片段:
hostname: 192.168.1.100http:port: 80https:port: 443certificate: /path/to/cert.pemprivate_key: /path/to/key.pemharbor_admin_password: Harbor12345data_volume: /data/harbor
四、Harbor 安装与启动
执行安装脚本前,确保 Docker 已运行:
sudo systemctl status docker # 确认状态为 active (running)
运行安装命令:
sudo ./install.sh
安装完成后,检查容器状态:
docker-compose ps
输出应显示所有容器(如 nginx、harbor-core、registry 等)状态为 Up。
五、访问与验证 Harbor
通过浏览器访问 http://192.168.1.100(或配置的域名),使用默认账号 admin 和设置的密码登录。验证功能包括:
- 创建项目:在控制台创建测试项目(如
test-project)。 - 推送镜像:
docker login 192.168.1.100docker tag nginx:latest 192.168.1.100/test-project/nginx:v1docker push 192.168.1.100/test-project/nginx:v1
- 拉取镜像:
docker pull 192.168.1.100/test-project/nginx:v1
六、常见问题与优化建议
- 端口冲突:若 80/443 端口被占用,修改
harbor.yml中的端口或停止冲突服务。 - 存储空间不足:定期清理未使用的镜像,或扩展
/data/harbor磁盘空间。 - 性能优化:
- 启用 HTTPS 时,使用 Let’s Encrypt 免费证书简化配置。
- 配置
harbor.yml中的log级别为info以减少日志量。
- 高可用部署:生产环境建议使用 Harbor 的高可用方案,如多节点部署或结合负载均衡器。
七、总结与扩展
通过以上步骤,您已成功在 CentOS 7 上部署 Harbor 镜像仓库,实现了镜像的集中存储与管理。Harbor 不仅支持基本的镜像推送/拉取,还提供用户认证、权限控制、镜像复制等高级功能,适合企业级 DevOps 流程。未来可探索:
- 集成 LDAP/OAuth 实现单点登录。
- 使用 Harbor 的 API 进行自动化镜像管理。
- 部署 Notary 实现镜像签名,增强安全性。
掌握 Harbor 的部署与运维,将显著提升团队在容器化环境中的协作效率与安全性。