CentOS部署Harbor镜像仓库全流程指南
一、环境准备与前置条件
在CentOS系统上部署Harbor镜像仓库前,需完成以下基础环境配置:
- 系统版本要求:推荐使用CentOS 7/8版本,需确保系统为最小化安装且内核版本≥3.10。可通过
uname -r命令验证内核版本。 - 网络配置检查:确保服务器可访问互联网,配置静态IP地址。使用
ip addr命令检查网络接口状态,通过ping 8.8.8.8测试网络连通性。 - 防火墙配置:开放80(HTTP)、443(HTTPS)、22(SSH)端口。使用
firewall-cmd --list-ports查看当前开放端口,通过firewall-cmd --add-port=80/tcp --permanent等命令添加所需端口。 - 依赖包安装:执行
yum install -y wget curl vim net-tools docker-ce安装基础工具及Docker引擎。使用docker --version验证安装结果。
二、Docker环境深度配置
Harbor依赖Docker运行,需进行以下优化配置:
-
Docker服务管理:
- 启动服务:
systemctl enable --now docker - 配置镜像加速:编辑
/etc/docker/daemon.json文件,添加:{"registry-mirrors": ["https://registry.docker-cn.com"]}
- 重启服务:
systemctl restart docker
- 启动服务:
-
存储驱动配置:
- 推荐使用
overlay2存储驱动,验证当前驱动:docker info | grep "Storage Driver" - 如需修改,编辑
/etc/docker/daemon.json添加:{"storage-driver": "overlay2"}
- 推荐使用
-
资源限制配置:
- 创建
/etc/systemd/system/docker.service.d/docker.conf文件,添加:[Service]ExecStart=ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
- 重新加载配置:
systemctl daemon-reload && systemctl restart docker
- 创建
三、Harbor安装包获取与验证
-
版本选择策略:
- 访问Harbor官方GitHub选择稳定版本(推荐v2.x系列)
- 下载离线安装包:
wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-offline-installer-v2.9.0.tgz
-
完整性验证:
- 使用
sha256sum验证下载文件完整性 - 解压安装包:
tar -xzf harbor-offline-installer-v2.9.0.tgz - 检查解压目录结构:应包含
harbor.yml、install.sh等核心文件
- 使用
四、Harbor核心配置详解
-
配置文件修改要点:
- 编辑
harbor.yml文件,关键参数配置:hostname: registry.example.com # 修改为实际域名或IPhttp:port: 80https:certificate: /data/cert/server.crt # 配置SSL证书路径private_key: /data/cert/server.keyharbor_admin_password: Harbor12345 # 设置管理员密码database:password: root123 # 数据库密码
- 编辑
-
存储配置优化:
- 配置持久化存储路径:
storage_driver:name: filesystemoptions:rootdirectory: /data/registry
- 确保存储目录权限正确:
chown -R 10000:10000 /data/registry
- 配置持久化存储路径:
-
日志配置建议:
- 配置日志轮转:
log:level: infolocal:rotate_count: 50rotate_size: 200Mlocation: /var/log/harbor
- 配置日志轮转:
五、Harbor安装与启动流程
-
依赖组件安装:
- 执行安装脚本前确保已安装
docker-compose - 安装命令:
./install.sh --with-clair(如需漏洞扫描功能)
- 执行安装脚本前确保已安装
-
服务启动验证:
- 检查容器状态:
docker-compose ps - 验证服务日志:
docker-compose logs -f - 访问Web界面:
https://registry.example.com(应显示登录页面)
- 检查容器状态:
-
初始配置步骤:
- 使用默认账号
admin和配置的密码登录 - 创建项目:
library(系统项目)和自定义项目 - 配置系统参数:邮件通知、LDAP集成等
- 使用默认账号
六、常见问题解决方案
-
端口冲突处理:
- 使用
netstat -tulnp | grep 80检查端口占用 - 修改Harbor配置或终止冲突进程
- 使用
-
证书配置错误:
- 生成自签名证书命令:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \-keyout /data/cert/server.key -out /data/cert/server.crt
- 确保证书文件权限为600
- 生成自签名证书命令:
-
数据库连接失败:
- 检查
harbor.yml中数据库配置 - 验证数据库服务状态:
docker-compose ps postgresql - 查看数据库日志:
docker-compose logs postgresql
- 检查
-
存储空间不足:
- 使用
df -h检查磁盘空间 - 配置存储配额:在项目设置中限制存储大小
- 定期清理未使用的镜像:
docker system prune -a
- 使用
七、生产环境优化建议
-
高可用配置:
- 部署多节点Harbor集群
- 配置共享存储(如NFS、Ceph)
- 使用负载均衡器分发流量
-
安全加固措施:
- 启用双因素认证
- 配置网络策略限制访问
- 定期更新Harbor版本
-
监控告警体系:
- 集成Prometheus监控
- 配置Grafana看板
- 设置存储空间阈值告警
八、升级与维护指南
-
版本升级流程:
- 备份当前配置和数据
- 下载新版本安装包
- 执行升级脚本:
./prepare --with-clair - 重启服务:
docker-compose down && docker-compose up -d
-
日常维护任务:
- 每周清理日志文件
- 每月检查存储空间
- 每季度进行安全审计
-
故障恢复流程:
- 准备完整的备份
- 记录故障时间点和现象
- 按优先级恢复服务(数据库→核心服务→Web界面)
通过以上详细部署流程和优化建议,可在CentOS系统上构建稳定高效的Harbor镜像仓库,满足企业级容器镜像管理需求。实际部署时建议先在测试环境验证,再推广到生产环境。