简介
部署harbor;
Harbor 私有镜像仓库部署指南(含常用资源整理)
一、Harbor 简介
Harbor 是一个开源的企业级 Docker Registry,提供:
• 镜像仓库存储与管理
• 权限控制(RBAC)
• 镜像扫描(漏洞检测)
• Helm Chart 管理
• 多实例复制(跨机房同步)
官方项目地址:
👉 https://github.com/goharbor/harbor
⸻
二、部署方式选择
Harbor 提供两种安装方式:
方式 特点
在线安装(Online Installer) 需要联网下载镜像
离线安装(Offline Installer) 适合生产环境(推荐)
👉 建议:生产环境直接用离线版
⸻
三、常用资源(建议收藏)
- Harbor 官方
• 官网:https://goharbor.io/
• GitHub:https://github.com/goharbor/harbor
• Releases:https://github.com/goharbor/harbor/releases
⸻
- Docker 相关
• Docker 官网
https://www.docker.com/
• Docker Hub(镜像仓库)
https://hub.docker.com/
⸻
- TLS / 证书
• Let’s Encrypt
https://letsencrypt.org/
• Certbot(自动申请证书)
https://certbot.eff.org/
⸻
- 镜像加速(国内环境可用)
• 阿里云镜像:https://cr.console.aliyun.com/
• 腾讯云镜像:https://mirror.ccs.tencentyun.com/
⸻
四、环境准备
- 系统要求
• Linux(推荐 Ubuntu / CentOS)
• Docker ≥ 20.x
• Docker Compose ≥ 2.x
⸻
- 安装 Docker
curl -fsSL https://get.docker.com | bash
验证:
docker version
⸻
- 安装 Docker Compose
docker compose version
(新版本已内置,无需单独安装)
⸻
五、下载 Harbor
进入发布页面下载:
👉 https://github.com/goharbor/harbor/releases
例如:
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
cd harbor
⸻
六、配置 Harbor
复制配置文件:
cp harbor.yml.tmpl harbor.yml
编辑:
vim harbor.yml
核心配置项
hostname: harbor.yourdomain.com
http:
port: 80
推荐开启 HTTPS
https:
port: 443
certificate: /data/cert/server.crt
private_key: /data/cert/server.key
harbor_admin_password: Harbor12345
data_volume: /data
⸻
七、配置 HTTPS(推荐)
使用 Let’s Encrypt
certbot certonly –standalone -d harbor.yourdomain.com
证书路径:
/etc/letsencrypt/live/xxx/fullchain.pem
/etc/letsencrypt/live/xxx/privkey.pem
复制到 Harbor:
mkdir -p /data/cert
cp fullchain.pem /data/cert/server.crt
cp privkey.pem /data/cert/server.key
⸻
八、安装 Harbor
执行安装脚本:
./install.sh
如果需要 ChartMuseum:
./install.sh –with-chartmuseum
⸻
九、启动与验证
- 查看容器
docker ps
- 访问 Web
默认账号:
admin / Harbor12345
⸻
十、Docker 登录 Harbor
- 登录
docker login harbor.yourdomain.com
⸻
- 打 tag
docker tag nginx harbor.yourdomain.com/library/nginx:latest
⸻
- 推送
docker push harbor.yourdomain.com/library/nginx:latest
⸻
十一、常见问题(踩坑总结)
❌ 1. 403 Forbidden(你刚遇到的)
常见原因:
• 用户权限不足
• project 不存在
• 登录用户不一致(root vs 普通用户)
👉 重点检查:
cat ~/.docker/config.json
不同用户的登录信息是隔离的!
⸻
❌ 2. 登录失败(HTTPS 问题)
如果是自签证书:
vim /etc/docker/daemon.json
{
“insecure-registries”: [“harbor.yourdomain.com”]
}
然后:
systemctl restart docker
⸻
❌ 3. Harbor 升级问题
你刚遇到的点很典型:
• Web UI 用户异常
• 数据不一致
👉 建议:
• 同版本升级(不要跨大版本)
• 或直接重装(简单粗暴更稳)
⸻
十二、Harbor 常用运维命令
停止 Harbor
docker compose down
启动 Harbor
docker compose up -d
查看日志
docker compose logs -f
⸻
十三、建议的生产实践
- 数据目录
/data
👉 一定要挂载磁盘(避免丢数据)
⸻
- 备份
/data/database
/data/registry
⸻
- 权限管理
• 不要直接用 admin
• 创建项目级用户
⸻
十四、总结
Harbor 的核心价值:
• 私有仓库(安全)
• 权限控制(企业级)
• 可扩展(复制 / 扫描)
👉 实际经验一句话总结:
Harbor 本身不难,难的是 证书 + 权限 + 版本升级
⸻
如果你要进阶(我可以帮你继续写)
可以继续补:
• Harbor + Nginx 反向代理
• Harbor 高可用(HA)
• Harbor + Kubernetes(Helm)
• Harbor 自动清理策略
• Harbor 多节点复制(跨机房)