快速部署企业级镜像仓库Harbor

0 阅读3分钟

一、概要

一、Harbor 核心概念与价值(开篇引言) 什么是Harbor:VMware开源的企业级Docker镜像仓库,CNCF毕业项目,基于Docker Registry二次开发。 核心价值:提供基于角色的访问控制(RBAC)、镜像漏洞扫描、镜像签名与内容信任、镜像复制与同步、操作审计日志等企业级功能。 适用场景:企业私有云、IDC机房、Kubernetes集群镜像管理等场景。

二、环境准备与前置条件

服务器最低配置: CPU:2核 内存 : 4GB 磁盘空间:40GB 操作系统:CentOS 7/8、Ubuntu 20.04 LTS等主流Linux发行版

软件依赖: Docker Engine ≥ 19.03(建议20.10+稳定版本) Docker Compose ≥ 2.0 开启IP转发、配置主机名与hosts映射

三、Docker与Docker Compose安装

3.1 Docker安装(以CentOS为例)

# 添加Docker官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker引擎
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动并设置开机自启
sudo systemctl start docker && sudo systemctl enable docker

3.2 Docker Compose安装

# 下载最新二进制文件(以v2.29.7为例)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#太慢就使用这个地址下载后传过去https://gitcode.com/gh_mirrors/compose/compose/releases/download/v2.29.7/docker-compose-linux-x86_64
# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
docker compose –version

四、Harbor安装准备

4.1 下载Harbor离线安装包

例如:

  • API
  • 支持模型类型
# 从GitHub Releases下载(以v2.15.0为例)
wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-offline-installer-v2.15.0.tgz
tar -zxvf harbor-offline-installer-v2.15.0.tgz -C /opt/
cd /opt/harbor
#如果github官网太慢可以使用清华地址下载https://mirrors.tuna.tsinghua.edu.cn/github-release/goharbor/harbor/v2.15.1/harbor-offline-installer-v2.15.1.tgz

4.2 生成HTTPS证书(生产环境必备) 生产环境必须使用HTTPS,避免中间人攻击。可使用自签名证书或Let's Encrypt等CA证书。 具体操作就不演示了

五、Harbor核心部署

5.1 配置harbor.yml

# 复制配置模板
cp harbor.yml.tmpl harbor.yml

# 关键配置项
hostname: harbor.yourdomain.com  # 你的域名或IP
http:
  port: 80
https:
  port: 443
  certificate: /your/certificate/path/harbor.yourdomain.com.crt
  private_key: /your/certificate/path/harbor.yourdomain.com.key
harbor_admin_password: Harbor12345  # 首次启动后需修改
data_volume: /data/harbor  # 数据存储路径
#如果没有配置证书需要注释-->使用http访问即可
#https:
  # https port for harbor, default is 443
#  port: 443
  # The path of cert and key files for nginx
#  certificate: /your/certificate/path
#  private_key: /your/private/key/path

5.2 启动Harbor服务

# 执行安装脚本(包含Trivy漏洞扫描)
sudo ./install.sh --with-trivy

# 查看容器状态
docker-compose ps

六、服务管理与优化

6.1 配置systemd服务(实现便捷启停) 创建/etc/systemd/system/harbor.service文件,配置自启动管理。 6.2 配置Docker客户端信任自签名证书

// /etc/docker/daemon.json
{
  "insecure-registries": ["harbor.yourdomain.com"]
}
systemctl restart docker

七、功能验证与使用

7.1 访问Web控制台 浏览器访问harbor.yourdomain.com 默认账号:admin/ Harbor12345 在这里插入图片描述 在这里插入图片描述

# 登录Harbor
docker login harbor.yourdomain.com
#如果登录失败可以使用docker-compose up -d 启动未启动的服务

# 拉取公共镜像并重新打标签
docker pull nginx:latest
docker tag nginx:latest harbor.yourdomain.com/library/nginx:latest

# 推送镜像到Harbor
docker push harbor.yourdomain.com/library/nginx:latest

# 从Harbor拉取镜像
docker pull harbor.yourdomain.com/library/nginx:latest

八、生产环境高级配置

8.1 高可用部署(Kubernetes + Helm) 对于生产环境,建议使用Helm在Kubernetes集群上部署Harbor以实现高可用。

# 添加Harbor Helm仓库
helm repo add harbor https://helm.goharbor.io
helm fetch harbor/harbor --untar

8.2 安全加固建议

  • 定期更新Harbor版本
  • 启用镜像漏洞扫描(Trivy)
  • 配置LDAP/AD集成统一认证
  • 设置镜像保留策略和垃圾回收
  • 启用操作审计日志 8.3 存储扩展
  • 支持本地存储、NFS、Ceph、S3兼容对象存储
  • 配置外部PostgreSQL和Redis提升性能

九、常见问题与故障排除

  • 证书问题:确保证书CN与hostname一致,客户端正确配置信任
  • 端口冲突:修改harbor.yml中的端口配置
  • 存储空间不足:及时清理无用镜像,配置存储配额
  • 性能优化:调整数据库连接池参数

十、总结与最佳实践

1.版本选择:生产环境建议使用最新稳定版(当前为v2.15.0+) 2.安全第一:务必使用HTTPS,定期扫描镜像漏洞 3.高可用架构:关键业务系统建议Kubernetes部署 4.监控告警:集成Prometheus监控Harbor运行状态 5.备份策略:定期备份数据库和镜像存储 有问题可以在评论区留言