logo

Docker镜像仓库Harbor安装部署全流程指南

作者:新兰2025.10.10 18:32浏览量:0

简介:本文详细讲解了Docker镜像仓库Harbor的安装部署步骤,涵盖环境准备、安装包下载、配置文件修改、系统服务启动及验证等全流程,帮助开发者快速搭建企业级镜像仓库。

一、Harbor简介与核心价值

Harbor是由VMware公司开源的企业级Docker镜像仓库管理工具,提供镜像存储、权限控制、镜像签名、漏洞扫描等核心功能。相较于Docker官方Registry,Harbor具备以下优势:

  1. 基于角色的访问控制(RBAC):支持项目级权限管理,可细粒度控制镜像的读写权限
  2. 镜像复制与同步:支持多地域镜像仓库间的数据同步,构建分布式镜像仓库网络
  3. 漏洞扫描:集成Clair漏洞扫描引擎,自动检测镜像中的CVE漏洞
  4. 镜像签名:支持Notary进行镜像内容信任(DCT)签名,确保镜像来源可信
  5. 审计日志:完整记录用户操作日志,满足企业合规要求

当前最新稳定版本为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. 软件依赖安装

  1. # CentOS 7示例
  2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  3. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  4. sudo yum install -y docker-ce docker-ce-cli containerd.io
  5. # 配置Docker加速(可选)
  6. sudo mkdir -p /etc/docker
  7. cat <<EOF | sudo tee /etc/docker/daemon.json
  8. {
  9. "registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"]
  10. }
  11. EOF
  12. sudo systemctl restart docker

3. 网络配置要点

  • 开放端口:80(HTTP)、443(HTTPS)、4443(Notary服务)
  • 防火墙规则示例(CentOS):
    1. sudo firewall-cmd --permanent --add-port={80,443,4443}/tcp
    2. sudo firewall-cmd --reload

三、Harbor安装部署流程

1. 下载安装包

  1. # 获取最新版本下载链接(替换为实际版本)
  2. VERSION=2.10.0
  3. wget https://github.com/goharbor/harbor/releases/download/v${VERSION}/harbor-offline-installer-v${VERSION}.tgz
  4. tar xzf harbor-offline-installer-v*.tgz
  5. cd harbor

2. 配置文件详解

修改harbor.yml核心配置项:

  1. hostname: harbor.example.com # 必须为可解析的域名
  2. http:
  3. port: 80
  4. https:
  5. certificate: /data/cert/harbor.crt
  6. private_key: /data/cert/harbor.key
  7. harbor_admin_password: Harbor12345 # 初始管理员密码
  8. database:
  9. password: root123
  10. max_open_conns: 1000
  11. max_idle_conns: 50
  12. storage_driver:
  13. name: filesystem
  14. fs:
  15. rootpath: /data/registry

关键配置说明

  • hostname:必须配置为实际域名,否则会影响镜像拉取
  • storage_driver:生产环境建议使用对象存储(S3/MinIO)
  • data_volume:建议挂载独立磁盘,避免系统盘空间不足

3. 安装执行流程

  1. # 安装前准备(生成自签名证书示例)
  2. sudo mkdir -p /data/cert
  3. sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  4. -keyout /data/cert/harbor.key -out /data/cert/harbor.crt \
  5. -subj "/CN=harbor.example.com"
  6. # 执行安装(需root权限)
  7. sudo ./install.sh --with-clair --with-trivy # 启用漏洞扫描

安装过程会依次执行:

  1. 初始化数据库(PostgreSQL)
  2. 配置Redis缓存
  3. 启动核心服务(Core、JobService、Registry)
  4. 启动可选组件(Clair/Trivy扫描器)

四、安装后验证与配置

1. 服务状态检查

  1. docker-compose ps # 查看容器状态
  2. sudo journalctl -u harbor -f # 查看系统日志

2. 客户端配置

  1. # 配置Docker信任证书(客户端)
  2. sudo mkdir -p /etc/docker/certs.d/harbor.example.com
  3. sudo scp root@harbor-server:/data/cert/harbor.crt \
  4. /etc/docker/certs.d/harbor.example.com/ca.crt
  5. # 登录测试
  6. docker login harbor.example.com

3. 基础管理操作

  1. # 创建项目
  2. curl -X POST -u admin:Harbor12345 \
  3. -H "Content-Type: application/json" \
  4. -d '{"project_name": "devops", "public": false}' \
  5. https://harbor.example.com/api/v2.0/projects
  6. # 推送镜像示例
  7. docker tag nginx:latest harbor.example.com/devops/nginx:v1
  8. docker push harbor.example.com/devops/nginx:v1

五、生产环境优化建议

1. 高可用架构设计

  • 部署模式:主从复制(Master-Slave)
  • 数据库:外置PostgreSQL集群
  • 存储:对接S3兼容对象存储
  • 负载均衡:Nginx或HAProxy四层负载

2. 备份恢复方案

  1. # 数据库备份示例
  2. docker exec -it harbor-db pg_dump -U postgres -F c registry > registry.dump
  3. # 配置备份
  4. cp -r /data/config /backup/config_$(date +%Y%m%d)

3. 监控告警配置

推荐Prometheus+Grafana监控方案:

  • 监控指标:存储空间、请求延迟、扫描任务队列
  • 告警规则:磁盘空间>80%、扫描任务积压>10

六、常见问题解决方案

1. 证书问题处理

现象x509: certificate signed by unknown authority
解决

  1. # 客户端添加证书
  2. sudo cp harbor.crt /usr/local/share/ca-certificates/
  3. sudo update-ca-certificates

2. 权限问题排查

检查步骤

  1. 确认用户是否在项目成员列表
  2. 检查harbor-db中的PROJECT_MEMBER
  3. 查看/var/log/harbor/core.log日志

3. 性能优化参数

  1. # harbor.yml优化配置示例
  2. max_job_workers: 10 # 默认3,根据CPU核数调整
  3. token_expiration: 30 # 令牌有效期(分钟)

七、升级与维护指南

1. 版本升级流程

  1. # 1. 备份数据
  2. ./prepare.sh backup
  3. # 2. 下载新版本
  4. wget https://github.com/goharbor/harbor/releases/download/v2.11.0/harbor-offline-installer-v2.11.0.tgz
  5. # 3. 执行升级
  6. sudo ./install.sh --with-clair

2. 日常维护任务

  • 每周清理未使用的镜像(设置自动清理策略)
  • 每月更新漏洞扫描数据库
  • 每季度进行灾备演练

通过以上步骤,开发者可以完成从环境准备到生产部署的全流程操作。Harbor作为企业级镜像仓库解决方案,能够有效提升DevOps流程的效率和安全性。建议生产环境部署后进行压力测试,验证系统在高并发场景下的稳定性。

相关文章推荐

发表评论

活动