Docker镜像仓库Harbor安装部署全流程指南
2025.10.10 18:32浏览量:0简介:本文详细讲解了Docker镜像仓库Harbor的安装部署步骤,涵盖环境准备、安装包下载、配置文件修改、系统服务启动及验证等全流程,帮助开发者快速搭建企业级镜像仓库。
一、Harbor简介与核心价值
Harbor是由VMware公司开源的企业级Docker镜像仓库管理工具,提供镜像存储、权限控制、镜像签名、漏洞扫描等核心功能。相较于Docker官方Registry,Harbor具备以下优势:
- 基于角色的访问控制(RBAC):支持项目级权限管理,可细粒度控制镜像的读写权限
- 镜像复制与同步:支持多地域镜像仓库间的数据同步,构建分布式镜像仓库网络
- 漏洞扫描:集成Clair漏洞扫描引擎,自动检测镜像中的CVE漏洞
- 镜像签名:支持Notary进行镜像内容信任(DCT)签名,确保镜像来源可信
- 审计日志:完整记录用户操作日志,满足企业合规要求
当前最新稳定版本为Harbor v2.10.0,支持Docker 19.03+及Kubernetes 1.16+环境,建议生产环境使用该版本。
二、环境准备与前置条件
1. 服务器资源要求
| 组件 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 2核 | 4核+ |
| 内存 | 4GB | 8GB+ |
| 磁盘空间 | 40GB(基础安装) | 200GB+(生产环境) |
| 操作系统 | CentOS 7/8 | Ubuntu 20.04 LTS |
2. 软件依赖安装
# CentOS 7示例sudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install -y docker-ce docker-ce-cli containerd.io# 配置Docker加速(可选)sudo mkdir -p /etc/dockercat <<EOF | sudo tee /etc/docker/daemon.json{"registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"]}EOFsudo systemctl restart docker
3. 网络配置要点
- 开放端口:80(HTTP)、443(HTTPS)、4443(Notary服务)
- 防火墙规则示例(CentOS):
sudo firewall-cmd --permanent --add-port={80,443,4443}/tcpsudo firewall-cmd --reload
三、Harbor安装部署流程
1. 下载安装包
# 获取最新版本下载链接(替换为实际版本)VERSION=2.10.0wget https://github.com/goharbor/harbor/releases/download/v${VERSION}/harbor-offline-installer-v${VERSION}.tgztar xzf harbor-offline-installer-v*.tgzcd harbor
2. 配置文件详解
修改harbor.yml核心配置项:
hostname: harbor.example.com # 必须为可解析的域名http:port: 80https:certificate: /data/cert/harbor.crtprivate_key: /data/cert/harbor.keyharbor_admin_password: Harbor12345 # 初始管理员密码database:password: root123max_open_conns: 1000max_idle_conns: 50storage_driver:name: filesystemfs:rootpath: /data/registry
关键配置说明:
hostname:必须配置为实际域名,否则会影响镜像拉取storage_driver:生产环境建议使用对象存储(S3/MinIO)data_volume:建议挂载独立磁盘,避免系统盘空间不足
3. 安装执行流程
# 安装前准备(生成自签名证书示例)sudo mkdir -p /data/certsudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \-keyout /data/cert/harbor.key -out /data/cert/harbor.crt \-subj "/CN=harbor.example.com"# 执行安装(需root权限)sudo ./install.sh --with-clair --with-trivy # 启用漏洞扫描
安装过程会依次执行:
- 初始化数据库(PostgreSQL)
- 配置Redis缓存
- 启动核心服务(Core、JobService、Registry)
- 启动可选组件(Clair/Trivy扫描器)
四、安装后验证与配置
1. 服务状态检查
docker-compose ps # 查看容器状态sudo journalctl -u harbor -f # 查看系统日志
2. 客户端配置
# 配置Docker信任证书(客户端)sudo mkdir -p /etc/docker/certs.d/harbor.example.comsudo scp root@harbor-server:/data/cert/harbor.crt \/etc/docker/certs.d/harbor.example.com/ca.crt# 登录测试docker login harbor.example.com
3. 基础管理操作
# 创建项目curl -X POST -u admin:Harbor12345 \-H "Content-Type: application/json" \-d '{"project_name": "devops", "public": false}' \https://harbor.example.com/api/v2.0/projects# 推送镜像示例docker tag nginx:latest harbor.example.com/devops/nginx:v1docker push harbor.example.com/devops/nginx:v1
五、生产环境优化建议
1. 高可用架构设计
- 部署模式:主从复制(Master-Slave)
- 数据库:外置PostgreSQL集群
- 存储:对接S3兼容对象存储
- 负载均衡:Nginx或HAProxy四层负载
2. 备份恢复方案
# 数据库备份示例docker exec -it harbor-db pg_dump -U postgres -F c registry > registry.dump# 配置备份cp -r /data/config /backup/config_$(date +%Y%m%d)
3. 监控告警配置
推荐Prometheus+Grafana监控方案:
- 监控指标:存储空间、请求延迟、扫描任务队列
- 告警规则:磁盘空间>80%、扫描任务积压>10
六、常见问题解决方案
1. 证书问题处理
现象:x509: certificate signed by unknown authority
解决:
# 客户端添加证书sudo cp harbor.crt /usr/local/share/ca-certificates/sudo update-ca-certificates
2. 权限问题排查
检查步骤:
- 确认用户是否在项目成员列表
- 检查
harbor-db中的PROJECT_MEMBER表 - 查看
/var/log/harbor/core.log日志
3. 性能优化参数
# harbor.yml优化配置示例max_job_workers: 10 # 默认3,根据CPU核数调整token_expiration: 30 # 令牌有效期(分钟)
七、升级与维护指南
1. 版本升级流程
# 1. 备份数据./prepare.sh backup# 2. 下载新版本wget https://github.com/goharbor/harbor/releases/download/v2.11.0/harbor-offline-installer-v2.11.0.tgz# 3. 执行升级sudo ./install.sh --with-clair
2. 日常维护任务
- 每周清理未使用的镜像(设置自动清理策略)
- 每月更新漏洞扫描数据库
- 每季度进行灾备演练
通过以上步骤,开发者可以完成从环境准备到生产部署的全流程操作。Harbor作为企业级镜像仓库解决方案,能够有效提升DevOps流程的效率和安全性。建议生产环境部署后进行压力测试,验证系统在高并发场景下的稳定性。

发表评论
登录后可评论,请前往 登录 或 注册