2.9 KiB
2.9 KiB
实现方案:Docker 双环境部署与 FRPC 公网映射
实现方案文档路径:工程分析/实现方案-2026-05-21-10-38-49.md
修改目标
新增完整容器化部署方案,使项目可通过 Docker Compose 在本机和威联通 NAS Container Station 中运行,并通过内置 frpc 服务映射到 82.157.255.195:10008,配合 revoxel.huijutec.cn 访问。
涉及路径
.dockerignoreDocker部署/DockerfileDocker部署/README.mdDocker部署/本机/docker_compose.yamlDocker部署/威联通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
技术路线
- 停止现有
tmux会话中的npm run serve服务。 - 新增 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启动。
- 新增本机 Compose:
revoxelseg_web暴露4000:4000。- 挂载本机部署目录下的
data/、exports/。 revoxelseg_frpc使用snowdreamtech/frpc:latest,启动时写入/tmp/frpc.toml。
- 新增 QNAP Compose:
- build context 使用
/share/Container/revoxelseg_dicom绝对路径。 - 运行态目录挂载到
/share/Container/revoxelseg_dicom/data与exports。 - frpc 直接内嵌同样的远端映射配置。
- build context 使用
- 新增 README 说明部署、访问、停止、日志查看和路径修改方式。
执行步骤
- 创建
Docker部署/、Docker部署/本机/、Docker部署/威联通NAS/。 - 写入 Dockerfile、两份 Compose 与 README。
- 执行
npm run lint与npm run build。 - 执行
docker compose -f Docker部署/本机/docker_compose.yaml config校验语法。 - 构建并启动本机 Docker 部署。
- 验证
http://127.0.0.1:4000/api/health与http://127.0.0.1:4000/。 - 检查 frpc 容器日志是否启动并尝试连接服务端。
- 更新经验记录并提交本次相关文件。
兼容性与回滚方案
- 回滚到旧部署:执行
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 作为验证环境。软著材料和无关工作区变化不纳入提交。