Files
macos-tools/harbor/HARBOR-RESTORE-GUIDE.md
bruno 435834dc79 feat: Harbor 版本化配置
- 添加 Harbor 快速恢复脚本 (harbor-quick-restore.sh)
- 添加完整恢复指南 (HARBOR-RESTORE-GUIDE.md)
- 添加版本信息文件 (VERSION.md)
- 更新 .gitignore 排除敏感数据
- 配置 harbor git remote
- 修复 Cloudflare Tunnel 配置

系统重装后可通过以下命令快速恢复:
git clone http://192.168.1.83:33000/gao/ljwx-harbor.git
cd ljwx-harbor
./harbor-quick-restore.sh
2026-02-27 08:12:30 +08:00

4.5 KiB
Raw Permalink Blame History

Harbor 快速恢复指南

本指南用于在系统重装后快速恢复 Harbor 配置和服务。

📋 前置要求

系统要求

  • macOS 15.0+ (Sequoia)
  • Docker Desktop 或 OrbStack
  • Git
  • 至少 20GB 可用磁盘空间

必需软件

# 安装 Homebrew(如果未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装 Docker(OrbStack 推荐)
brew install orbstack

# 安装其他依赖
brew install git curl jq

🚀 快速恢复步骤

1. 克隆 Harbor 配置仓库

# 创建目录
mkdir -p ~/ops
cd ~/ops

# 克隆配置
git clone http://192.168.1.83:33000/gao/ljwx-harbor.git harbor
cd harbor

2. 配置环境变量

# 复制环境变量模板
cp .env.example .env

# 编辑配置(根据实际情况修改)
nano .env

重要配置项:

  • HARBOR_ADMIN_PASSWORD: Harbor 管理员密码
  • HARBOR_DATABASE_PASSWORD: 数据库密码
  • HARBOR_HOSTNAME: Harbor 访问域名/IP

3. 执行一键恢复脚本

# 赋予执行权限
chmod +x harbor-quick-restore.sh

# 执行恢复
./harbor-quick-restore.sh

4. 验证服务状态

# 检查容器状态
docker ps --filter "name=harbor"

# 检查服务健康
./harbor-data-protection.sh health

# 访问 Web 界面
open http://192.168.1.83:8080

📁 重要文件说明

配置文件

  • harbor.yml - Harbor 主配置文件
  • docker-compose.yml - Docker Compose 编排文件
  • .env - 环境变量(不提交到 Git)
  • .env.example - 环境变量模板

脚本文件

  • harbor-quick-restore.sh - 一键恢复脚本
  • harbor-data-protection.sh - 服务管理脚本
  • nightly-cache.sh - 镜像缓存脚本
  • sync-eu-to-local.sh - EU Harbor 同步脚本

数据目录(运行时生成)

  • /Users/brunogao/ops/data/harbor/ - Harbor 数据
  • /Users/brunogao/ops/logs/ - 日志文件
  • /Users/brunogao/ops/backups/ - 备份文件

🔧 高级配置

配置 Cloudflare Tunnel(可选)

如果需要外网访问:

# 安装 cloudflared
brew install cloudflared

# 配置 tunnel
# 编辑 ~/.cloudflared/config.yml,添加:
# - hostname: harbor.omniverseai.net
#   service: http://127.0.0.1:80

配置镜像缓存

# 安装定时任务
./install-nightly-cache.sh

# 手动执行缓存
./nightly-cache.sh

配置 EU Harbor 同步

# 同步镜像到本地
./sync-eu-to-local.sh

🔐 安全配置

修改默认密码

# 首次登录后立即修改密码
# Web UI: http://192.168.1.83:8080
# 用户名: admin
# 默认密码: 见 .env 文件

配置 HTTPS(推荐)

# 生成证书
./generate-harbor-certs.sh

# 更新 harbor.yml 中的证书路径
# 重启服务
docker-compose down && docker-compose up -d

📊 监控和维护

查看日志

# 查看所有容器日志
docker-compose logs -f

# 查看特定服务日志
docker logs harbor-core -f

备份数据

# 手动备份
./harbor-backup.sh

# 自动备份(已配置 cron)
# 备份位置: /Users/brunogao/ops/backups/harbor/

清理旧镜像

# 清理 10 天前的镜像
./harbor-k8s-images.sh cleanup 10

🆘 故障排查

Harbor 无法启动

# 检查端口占用
lsof -i :80
lsof -i :443

# 检查 Docker 服务
docker info

# 重启服务
docker-compose down
docker-compose up -d

镜像拉取失败

# 检查 Harbor 服务状态
curl -I http://127.0.0.1:80

# 检查 Docker 配置
cat ~/.docker/daemon.json

# 重新登录
docker login harbor.omniverseai.net:8080

Cloudflare Tunnel 502 错误

# 检查 Harbor 本地访问
curl -I http://127.0.0.1:80

# 检查 cloudflared 配置
cat ~/.cloudflared/config.yml

# 重启 tunnel
sudo pkill -f cloudflared
sudo cloudflared --config ~/.cloudflared/config.yml tunnel run mytunnel &

📚 相关文档

🔄 版本更新

更新 Harbor 配置

cd ~/ops/harbor
git pull harbor master
./harbor-quick-restore.sh

升级 Harbor 版本

# 备份当前数据
./harbor-backup.sh

# 更新 docker-compose.yml 中的版本号
# 重新部署
docker-compose down
docker-compose pull
docker-compose up -d

📞 支持

如有问题,请查看: