2026-05-21-10-38-49 新增Docker部署与FRPC映射

This commit is contained in:
2026-05-21 10:50:24 +08:00
parent e4a403f015
commit b027f50118
12 changed files with 554 additions and 2 deletions

View File

@@ -0,0 +1,68 @@
# 测试方案Docker 双环境部署与 FRPC 公网映射
测试方案文档路径:`工程分析/测试方案-2026-05-21-10-38-49.md`
## 静态检查
- 检查 Dockerfile 路径、工作目录、复制路径和启动命令。
- 使用 `docker compose -f Docker部署/本机/docker_compose.yaml config` 校验本机 Compose。
- 使用 `docker compose -f Docker部署/威联通NAS/docker_compose.yaml config` 校验 NAS Compose。
- 确认 frpc 配置包含:
- `serverAddr = "82.157.255.195"`
- `serverPort = 7000`
- `auth.token = "en.xjtu.edu.cn"`
- `localIP = "revoxelseg_web"`
- `localPort = 4000`
- `remotePort = 10008`
## 构建检查
-`WebSite/` 下执行 `npm run lint`
-`WebSite/` 下执行 `npm run build`
- 使用本机 Compose 执行 Docker 镜像构建。
## 关键业务场景验证
- 容器启动后访问 `/api/health` 返回 `ok: true`
- 首页 `/` 返回 `200 OK`
- 默认项目数据可由容器读取。
- 本机端口 `4000` 可访问。
## 医学影像数据相关边界验证
- 确认默认 DICOM 与 STL 目录被复制进镜像,运行态数据目录挂载不覆盖默认演示资产。
- 确认 `WebSite/data``WebSite/exports` 被挂载为持久化目录,避免容器重建后用户项目和导出结果完全丢失。
## 部署验证
- 停止旧 tmux 服务后,使用本机 Docker Compose 启动服务。
- 验证 `http://127.0.0.1:4000/api/health`
- 验证 `http://127.0.0.1:4000/`
- 查看 `revoxelseg_frpc` 日志,确认 frpc 已执行并尝试连接服务端。
## Git/Gitea 备份验证
- 仅暂存本次 Docker 部署文件与工程分析文档。
- Commit message 包含 `2026-05-21-10-38-49` 与简要描述。
- 推送到 `http://192.168.31.5:5002/admin/REVOXELSEG_DICOM.git`
## 风险与回归关注点
- Docker 镜像构建时间和体积受默认医学数据大小影响。
- frpc 公网访问依赖远端 FRP 服务和 NPM 反向代理,若服务端不可用,本机健康检查仍应通过。
- 容器运行后不要再同时启动 tmux 版 4000 服务,以免端口冲突。
## 实际执行结果
- 已先停止旧 `tmux` 运行服务4000 端口空闲后再启动 Docker Compose。
- `npm run lint`:通过。
- `npm run build`:通过,仅保留 Vite chunk size 提示。
- `docker compose -f Docker部署/本机/docker_compose.yaml config`通过frpc 远端端口为 `10008`
- `docker compose -f Docker部署/威联通NAS/docker_compose.yaml config`通过NAS 版路径展开为 `/share/Container/revoxelseg_dicom`
- `docker compose -f Docker部署/本机/docker_compose.yaml up -d --build`:通过。
- `revoxelseg_web`:状态 healthy端口映射为 `0.0.0.0:4000->4000/tcp`
- `revoxelseg_frpc`:日志显示 `login to server success``[ReVoxelSeg_DICOM] start proxy success`
- `curl http://127.0.0.1:4000/api/health`:返回 `{"ok":true,"service":"revoxelseg-dicom"}`
- `curl http://127.0.0.1:4000/`:返回 `200 OK`
- `curl http://192.168.3.11:4000/`:返回 `200 OK`
- `curl https://revoxel.huijutec.cn/`:返回 `200 OK`,响应头包含 `x-served-by: revoxel.huijutec.cn`