- 添加 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
4.5 KiB
4.5 KiB
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
📞 支持
如有问题,请查看:
- 日志文件:
/Users/brunogao/ops/logs/ - 备份文件:
/Users/brunogao/ops/backups/harbor/ - Git 仓库: http://192.168.1.83:33000/gao/ljwx-harbor