mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-22 16:43:35 +00:00
- 支持环境变量预设管理员账号密码 - 添加 docker-entrypoint.sh 自动初始化脚本 - 配置 GitHub Actions 自动构建多平台镜像(amd64, arm64) - 添加版本标签管理和自动发布流程 - 集成 Trivy 安全漏洞扫描 - 更新文档说明 Docker Hub 使用方法 - 优化 Docker 部署用户体验 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
109 lines
2.9 KiB
Markdown
109 lines
2.9 KiB
Markdown
# Docker Hub 自动发布配置指南
|
||
|
||
本文档说明如何配置 GitHub Actions 自动构建并发布 Docker 镜像到 Docker Hub。
|
||
|
||
## 📋 前置要求
|
||
|
||
1. Docker Hub 账号
|
||
2. GitHub 仓库的管理员权限
|
||
|
||
## 🔐 配置 GitHub Secrets
|
||
|
||
在 GitHub 仓库中配置以下 secrets:
|
||
|
||
1. 进入仓库设置:`Settings` → `Secrets and variables` → `Actions`
|
||
2. 点击 `New repository secret`
|
||
3. 添加以下 secrets:
|
||
|
||
### 必需的 Secrets
|
||
|
||
| Secret 名称 | 说明 | 如何获取 |
|
||
|------------|------|---------|
|
||
| `DOCKERHUB_USERNAME` | Docker Hub 用户名 | 你的 Docker Hub 登录用户名 |
|
||
| `DOCKERHUB_TOKEN` | Docker Hub Access Token | 见下方说明 |
|
||
|
||
### 获取 Docker Hub Access Token
|
||
|
||
1. 登录 [Docker Hub](https://hub.docker.com/)
|
||
2. 点击右上角头像 → `Account Settings`
|
||
3. 选择 `Security` → `Access Tokens`
|
||
4. 点击 `New Access Token`
|
||
5. 填写描述(如:`GitHub Actions`)
|
||
6. 选择权限:`Read, Write, Delete`
|
||
7. 点击 `Generate`
|
||
8. **立即复制 token**(只显示一次)
|
||
|
||
## 🚀 工作流程说明
|
||
|
||
### 触发条件
|
||
|
||
- **自动触发**:推送到 `main` 分支
|
||
- **版本发布**:创建 `v*` 格式的 tag(如 `v1.0.0`)
|
||
- **手动触发**:在 Actions 页面手动运行
|
||
|
||
### 镜像标签策略
|
||
|
||
工作流会自动创建以下标签:
|
||
|
||
- `latest`:始终指向 main 分支的最新构建
|
||
- `main`:main 分支的构建
|
||
- `v1.0.0`:版本标签(当创建 tag 时)
|
||
- `1.0`:主次版本标签
|
||
- `1`:主版本标签
|
||
- `main-sha-xxxxxxx`:包含 commit SHA 的标签
|
||
|
||
### 支持的平台
|
||
|
||
- `linux/amd64`:Intel/AMD 架构
|
||
- `linux/arm64`:ARM64 架构(如 Apple Silicon, 树莓派等)
|
||
|
||
## 📦 使用发布的镜像
|
||
|
||
```bash
|
||
# 拉取最新版本
|
||
docker pull weishaw/claude-relay-service:latest
|
||
|
||
# 拉取特定版本
|
||
docker pull weishaw/claude-relay-service:v1.0.0
|
||
|
||
# 运行容器
|
||
docker run -d \
|
||
--name claude-relay \
|
||
-p 3000:3000 \
|
||
-v ./data:/app/data \
|
||
-v ./logs:/app/logs \
|
||
-e ADMIN_USERNAME=my_admin \
|
||
-e ADMIN_PASSWORD=my_password \
|
||
weishaw/claude-relay-service:latest
|
||
```
|
||
|
||
## 🔍 验证配置
|
||
|
||
1. 推送代码到 main 分支
|
||
2. 在 GitHub 仓库页面点击 `Actions` 标签
|
||
3. 查看 `Docker Build & Push` 工作流运行状态
|
||
4. 成功后在 Docker Hub 查看镜像
|
||
|
||
## 🛡️ 安全功能
|
||
|
||
- **漏洞扫描**:使用 Trivy 自动扫描镜像漏洞
|
||
- **扫描报告**:上传到 GitHub Security 标签页
|
||
- **自动更新 README**:同步更新 Docker Hub 的项目描述
|
||
|
||
## ❓ 常见问题
|
||
|
||
### 构建失败
|
||
|
||
- 检查 secrets 是否正确配置
|
||
- 确认 Docker Hub token 有足够权限
|
||
- 查看 Actions 日志详细错误信息
|
||
|
||
### 镜像推送失败
|
||
|
||
- 确认 Docker Hub 用户名正确
|
||
- 检查是否达到 Docker Hub 免费账户限制
|
||
- Token 可能过期,需要重新生成
|
||
|
||
### 多平台构建慢
|
||
|
||
这是正常的,因为需要模拟不同架构。可以在不需要时修改 `platforms` 配置。 |