Harbor 安装指南(最新版本 v2.11.x,2025年10月)
Harbor 是 CNCF 毕业项目,由 VMware 开发的开源容器镜像仓库,支持安全扫描、角色访问控制、镜像复制等企业级功能。它基于 Docker 运行,适用于 Kubernetes、Docker 等云原生环境。以下是基于官方文档和最新教程的完整安装步骤,优先推荐 Ubuntu 22.04/24.04 系统(其他 Linux 如 CentOS 可参考官方调整)。整个过程需 10-20 分钟,需 root 权限。
前提条件
- 操作系统:Ubuntu 22.04 LTS 或 24.04(推荐,服务器环境)。
- 硬件:至少 2 核 CPU、4GB RAM、20GB 磁盘空间(生产环境建议 8GB+ RAM)。
- 网络:能访问 GitHub 和 Docker Hub;域名(可选,用于 HTTPS)。
- 软件:安装 Docker CE(20+ 版本)和 Docker Compose(v2+)。
- 防火墙:开放 80/443 端口(HTTP/HTTPS)。
- 其他:如需 HTTPS,准备 SSL 证书(Let's Encrypt 或自签)。
注意:如果无 sudo 权限,可用 Docker Compose 手动部署(见 Reddit 讨论)。测试环境可先用官方 Demo Server:https://demo.goharbor.io。
步骤 1: 安装 Docker 和 Docker Compose
-
更新系统包:
sudo apt update && sudo apt upgrade -y
-
安装 Docker CE:
sudo apt install -y ca-certificates curl gnupg lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
-
启动 Docker 并添加用户到 docker 组:
sudo systemctl start docker sudo systemctl enable docker sudo usermod -aG docker $USER
注销并重新登录生效。
-
验证:
docker --version docker compose version
步骤 2: 下载并安装 Harbor
Harbor 提供在线安装器(推荐,自动下载镜像)和离线安装器(企业内网用)。这里用在线安装器。
-
下载最新安装包(v2.11.1,2025 年最新稳定版):
wget https://github.com/goharbor/harbor/releases/download/v2.11.1/harbor-online-installer-v2.11.1.tgz tar xzvf harbor-online-installer-v2.11.1.tgz cd harbor/
-
配置 Harbor:
- 复制模板:
cp harbor.yml.tmpl harbor.yml vim harbor.yml
- 关键配置(局域网优化):
hostname: reg.example.com # 或 192.168.1.100 http:port: 80 # 局域网可先用 HTTP # https: # 若需 HTTPS,取消注释 # port: 443 # certificate: /data/cert/server.crt # private_key: /data/cert/server.key harbor_admin_password: YourStrongPassword123 # 修改默认密码 data_volume: /data # 确保 /data 有 20GB+ 空间 database:password: root123 # 数据库密码 trivy:enable: true # 漏洞扫描,局域网无需外网
- 自签证书(可选,HTTPS):
填写域名sudo mkdir -p /data/cert sudo openssl req -x509 -newkey rsa:4096 -nodes -out /data/cert/server.crt -keyout /data/cert/server.key -days 365
reg.example.com
或 IP。
- 复制模板:
-
生成环境:
./prepare
-
安装 Harbor:
sudo ./install.sh
- 自动加载离线镜像,启动 9+ 容器(约 5-10 分钟)。
- 输出:
Harbor has been installed and started successfully.
步骤 3: 验证和局域网访问
-
检查容器:
docker compose ps
确认
harbor-core
、nginx
、registry
等运行。 -
访问 Web UI:
- 浏览器访问:
http://192.168.1.100
或http://reg.example.com
。 - 登录:用户名
admin
,密码为harbor.yml
中设置的。 - 创建项目:点击 "New Project",设为 Public 或 Private。
- 浏览器访问:
-
局域网客户端测试:
- 在另一台局域网机器(如 192.168.1.101):
- 添加
/etc/hosts
:192.168.1.100 reg.example.com
- 登录:
docker login reg.example.com -u admin -p YourStrongPassword123
- 推送测试:
docker pull nginx:latest # 需提前下载镜像 docker tag nginx:latest reg.example.com/library/nginx:latest docker push reg.example.com/library/nginx:latest
- 添加
- 在另一台局域网机器(如 192.168.1.101):
步骤 4: 局域网优化与维护
- 防火墙:确保 80 端口开放:
sudo ufw allow 80 sudo ufw status
- 存储:检查
/data
空间:
生产环境建议挂载 NFS 或外部存储。df -h /data
- 备份:定期备份
/data
和harbor.yml
。 - 高可用(可选):局域网部署多节点 Harbor,用 Keepalived 实现 VIP,参考官方 HA 指南。
- 日志排查:
docker logs harbor-core
常见问题
问题 | 解决方案 |
---|---|
无法解析 reg.example.com | 确保客户端和服务器的 /etc/hosts 包含 192.168.1.100 reg.example.com 。 |
端口冲突 | 检查:`sudo netstat -tuln |
镜像缺失 | 确认离线包完整,或手动导入镜像:docker load -i harbor-offline-installer-v2.11.1.tgz 。 |
证书不受信任 | HTTPS 环境下,客户端导入自签证书,或临时禁用 SSL 验证:docker login --insecure-registry reg.example.com 。 |
磁盘不足 | 清理空间或扩展 /data :sudo lvresize -L +10G /dev/mapper/vg-data 。 |
总结
在 Ubuntu 24.04 局域网环境中,Harbor 离线安装简单高效,关键是预先下载离线包、配置固定 IP 和主机名解析。推荐用 HTTP 快速部署,生产环境再加 HTTPS。安装后,局域网内可通过 http://192.168.1.100
访问,测试推送/拉取镜像约 1-2 分钟完成。需进一步配置(如集成 Kubernetes 或 CI/CD),或遇到错误,请提供具体问题,我可提供针对性指导!
参考:
- Harbor 官方文档 (goharbor.io/docs/2.11.0/install-config)
- Ubuntu 24.04 Docker 安装指南 (docs.docker.com)
- Reddit/知乎局域网部署经验