Abel'Blog

我干了什么?究竟拿了时间换了什么?

0%

部署harbor

简介

部署harbor;

Harbor 私有镜像仓库部署指南(含常用资源整理)

一、Harbor 简介

Harbor 是一个开源的企业级 Docker Registry,提供:
• 镜像仓库存储与管理
• 权限控制(RBAC)
• 镜像扫描(漏洞检测)
• Helm Chart 管理
• 多实例复制(跨机房同步)

官方项目地址:
👉 https://github.com/goharbor/harbor

二、部署方式选择

Harbor 提供两种安装方式:

方式 特点
在线安装(Online Installer) 需要联网下载镜像
离线安装(Offline Installer) 适合生产环境(推荐)

👉 建议:生产环境直接用离线版

三、常用资源(建议收藏)

  1. Harbor 官方
    • 官网:https://goharbor.io/
    • GitHub:https://github.com/goharbor/harbor
    • Releases:https://github.com/goharbor/harbor/releases

  1. Docker 相关
    • Docker 官网
    https://www.docker.com/
    • Docker Hub(镜像仓库)
    https://hub.docker.com/

  1. TLS / 证书
    • Let’s Encrypt
    https://letsencrypt.org/
    • Certbot(自动申请证书)
    https://certbot.eff.org/

  1. 镜像加速(国内环境可用)
    • 阿里云镜像:https://cr.console.aliyun.com/
    • 腾讯云镜像:https://mirror.ccs.tencentyun.com/

四、环境准备

  1. 系统要求
    • Linux(推荐 Ubuntu / CentOS)
    • Docker ≥ 20.x
    • Docker Compose ≥ 2.x

  1. 安装 Docker

curl -fsSL https://get.docker.com | bash

验证:

docker version

  1. 安装 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

九、启动与验证

  1. 查看容器

docker ps

  1. 访问 Web

https://harbor.yourdomain.com

默认账号:

admin / Harbor12345

十、Docker 登录 Harbor

  1. 登录

docker login harbor.yourdomain.com

  1. 打 tag

docker tag nginx harbor.yourdomain.com/library/nginx:latest

  1. 推送

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

十三、建议的生产实践

  1. 数据目录

/data

👉 一定要挂载磁盘(避免丢数据)

  1. 备份

/data/database
/data/registry

  1. 权限管理
    • 不要直接用 admin
    • 创建项目级用户

十四、总结

Harbor 的核心价值:
• 私有仓库(安全)
• 权限控制(企业级)
• 可扩展(复制 / 扫描)

👉 实际经验一句话总结:

Harbor 本身不难,难的是 证书 + 权限 + 版本升级

如果你要进阶(我可以帮你继续写)

可以继续补:
• Harbor + Nginx 反向代理
• Harbor 高可用(HA)
• Harbor + Kubernetes(Helm)
• Harbor 自动清理策略
• Harbor 多节点复制(跨机房)