2026-05-21-10-38-49 新增Docker部署与FRPC映射
This commit is contained in:
18
工程分析/经验记录.md
18
工程分析/经验记录.md
@@ -1495,3 +1495,21 @@ C. 解决问题方案
|
||||
D. 后续如何避免问题
|
||||
|
||||
后续只要系统功能发生变化并要求更新软著材料,应同时更新 Markdown 正文、截图、Word、代码汇总、视频脚本和素材清单,不能只改其中一项。截图自动化必须固定视口并校验图片尺寸、非空像素和引用数量;代码汇总应从当前源码机械生成或明确摘录范围;软著目录按用户要求不提交 Gitea,只提交工程分析记录。
|
||||
|
||||
## 2026-05-21-10-38-49 Docker 部署要同时处理默认资产、运行态挂载与公网隧道
|
||||
|
||||
A. 具体问题
|
||||
|
||||
用户要求停止旧程序,并新增本机与威联通 NAS 两套 Docker 部署方式,同时把 frpc 配置直接写入 Compose,将容器内服务映射到 FRP 服务端 `82.157.255.195` 的 `10008` 端口,最终支持 `http://192.168.3.11:4000/` 和 `revoxel.huijutec.cn` 双入口访问。
|
||||
|
||||
B. 产生问题原因
|
||||
|
||||
项目此前主要通过 `tmux + npm run serve` 运行,部署依赖当前工作目录和 Node 环境。Docker 化时如果只打包 `WebSite/`,默认项目会找不到仓库根目录下的 `Head_CT_DICOM/` 与 `Head_CT_ReConstruct/`;如果直接挂载整个 `WebSite/data` 和 `exports` 到镜像内部但不区分默认资产,又容易把运行态数据、导出文件或旧状态混进镜像和 Git。
|
||||
|
||||
C. 解决问题方案
|
||||
|
||||
新增 `Docker部署/`,在 Dockerfile 中以项目根目录为构建上下文,复制 `WebSite/`、`Head_CT_DICOM/` 和 `Head_CT_ReConstruct/`,容器启动时使用 `NODE_ENV=production` 与 `npm run serve -- --host 0.0.0.0 --port 4000`。两份 Compose 分别适配本机相对路径与 QNAP `/share/Container/revoxelseg_dicom` 绝对路径,运行态仅挂载 `/app/WebSite/data` 和 `/app/WebSite/exports`。frpc 容器启动时动态写入 `/tmp/frpc.toml`,映射 `revoxelseg_web:4000` 到远端 `10008`。同时在 `.dockerignore` 和 `.gitignore` 中排除构建缓存、运行态目录和导出数据。
|
||||
|
||||
D. 后续如何避免问题
|
||||
|
||||
后续部署变更应先停止旧 4000 服务,再启动新部署方式,避免端口冲突。Docker 构建要明确区分默认演示资产、业务源码和运行态挂载目录;NAS 版 Compose 应使用绝对路径,方便 Container Station 直接导入。frpc 配置变更后必须查看 frpc 日志,确认 `login to server success` 和 `start proxy success`,再用局域网地址和公网域名分别验证。
|
||||
|
||||
Reference in New Issue
Block a user