2026-05-21-10-38-49 新增Docker部署与FRPC映射
This commit is contained in:
63
工程分析/实现方案-2026-05-21-10-38-49.md
Normal file
63
工程分析/实现方案-2026-05-21-10-38-49.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# 实现方案:Docker 双环境部署与 FRPC 公网映射
|
||||
|
||||
实现方案文档路径:`工程分析/实现方案-2026-05-21-10-38-49.md`
|
||||
|
||||
## 修改目标
|
||||
|
||||
新增完整容器化部署方案,使项目可通过 Docker Compose 在本机和威联通 NAS Container Station 中运行,并通过内置 frpc 服务映射到 `82.157.255.195:10008`,配合 `revoxel.huijutec.cn` 访问。
|
||||
|
||||
## 涉及路径
|
||||
|
||||
- `.dockerignore`
|
||||
- `Docker部署/Dockerfile`
|
||||
- `Docker部署/README.md`
|
||||
- `Docker部署/本机/docker_compose.yaml`
|
||||
- `Docker部署/威联通NAS/docker_compose.yaml`
|
||||
- `工程分析/需求分析-2026-05-21-10-38-49.md`
|
||||
- `工程分析/实现方案-2026-05-21-10-38-49.md`
|
||||
- `工程分析/测试方案-2026-05-21-10-38-49.md`
|
||||
- `工程分析/经验记录.md`
|
||||
|
||||
## 技术路线
|
||||
|
||||
1. 停止现有 `tmux` 会话中的 `npm run serve` 服务。
|
||||
2. 新增 Dockerfile:
|
||||
- 使用 Node 官方镜像。
|
||||
- 复制 `WebSite/package*.json` 并执行 `npm ci`。
|
||||
- 复制 WebSite 源码、默认 DICOM 数据和默认 STL 数据。
|
||||
- 执行 `npm run build`。
|
||||
- 使用 `NODE_ENV=production` 通过 `npm run serve -- --host 0.0.0.0 --port 4000` 启动。
|
||||
3. 新增本机 Compose:
|
||||
- `revoxelseg_web` 暴露 `4000:4000`。
|
||||
- 挂载本机部署目录下的 `data/`、`exports/`。
|
||||
- `revoxelseg_frpc` 使用 `snowdreamtech/frpc:latest`,启动时写入 `/tmp/frpc.toml`。
|
||||
4. 新增 QNAP Compose:
|
||||
- build context 使用 `/share/Container/revoxelseg_dicom` 绝对路径。
|
||||
- 运行态目录挂载到 `/share/Container/revoxelseg_dicom/data` 与 `exports`。
|
||||
- frpc 直接内嵌同样的远端映射配置。
|
||||
5. 新增 README 说明部署、访问、停止、日志查看和路径修改方式。
|
||||
|
||||
## 执行步骤
|
||||
|
||||
1. 创建 `Docker部署/`、`Docker部署/本机/`、`Docker部署/威联通NAS/`。
|
||||
2. 写入 Dockerfile、两份 Compose 与 README。
|
||||
3. 执行 `npm run lint` 与 `npm run build`。
|
||||
4. 执行 `docker compose -f Docker部署/本机/docker_compose.yaml config` 校验语法。
|
||||
5. 构建并启动本机 Docker 部署。
|
||||
6. 验证 `http://127.0.0.1:4000/api/health` 与 `http://127.0.0.1:4000/`。
|
||||
7. 检查 frpc 容器日志是否启动并尝试连接服务端。
|
||||
8. 更新经验记录并提交本次相关文件。
|
||||
|
||||
## 兼容性与回滚方案
|
||||
|
||||
- 回滚到旧部署:执行 `docker compose -f Docker部署/本机/docker_compose.yaml down` 后,按旧方式进入 `WebSite` 执行 `npm run serve -- --host 0.0.0.0 --port 4000`。
|
||||
- 如果 QNAP 路径不同,只需修改 NAS Compose 中的 `build.context` 和 volume 宿主机路径。
|
||||
- 如果远端端口冲突,修改 frpc `remotePort` 和 NPM 反向代理目标端口即可。
|
||||
|
||||
## 预计文件变更
|
||||
|
||||
新增 Docker 部署文件,不修改业务源码。
|
||||
|
||||
## 提交与部署策略
|
||||
|
||||
提交包含 Docker 部署文件与工程分析文档;部署以本机 Docker Compose 作为验证环境。软著材料和无关工作区变化不纳入提交。
|
||||
Reference in New Issue
Block a user