Files
REVOXELSEG_DICOM/工程分析/实现方案-2026-05-21-11-13-49.md

3.1 KiB
Raw Blame History

实现方案:独立 Docker 程序目录与 Gitea 分支存储

实现方案文档路径:工程分析/实现方案-2026-05-21-11-13-49.md

修改目标

~/Desktop/ReVoxelSeg_DICOM_Docker 生成可独立运行的 Docker 程序包,并将其作为 Gitea 新分支 docker-standalone-20260521 推送。

涉及路径

主项目:

  • 工程分析/需求分析-2026-05-21-11-13-49.md
  • 工程分析/实现方案-2026-05-21-11-13-49.md
  • 工程分析/测试方案-2026-05-21-11-13-49.md
  • 工程分析/经验记录.md

独立 Docker 程序目录:

  • ~/Desktop/ReVoxelSeg_DICOM_Docker/WebSite/
  • ~/Desktop/ReVoxelSeg_DICOM_Docker/Head_CT_DICOM/
  • ~/Desktop/ReVoxelSeg_DICOM_Docker/Head_CT_ReConstruct/
  • ~/Desktop/ReVoxelSeg_DICOM_Docker/Dockerfile
  • ~/Desktop/ReVoxelSeg_DICOM_Docker/.dockerignore
  • ~/Desktop/ReVoxelSeg_DICOM_Docker/.gitignore
  • ~/Desktop/ReVoxelSeg_DICOM_Docker/docker_compose.yaml
  • ~/Desktop/ReVoxelSeg_DICOM_Docker/docker_compose.nas.yaml
  • ~/Desktop/ReVoxelSeg_DICOM_Docker/README.md

技术路线

  1. 从主项目复制必要运行内容到独立目录:
    • 复制 WebSite/,排除 node_modulesdistdataexports 和本地环境文件。
    • 复制默认演示数据 Head_CT_DICOM/Head_CT_ReConstruct/
  2. 将 Dockerfile 调整为独立目录根构建:
    • COPY WebSite/package*.json ./WebSite/
    • COPY WebSite ./WebSite
    • COPY Head_CT_DICOM ./Head_CT_DICOM
    • COPY Head_CT_ReConstruct ./Head_CT_ReConstruct
  3. 根目录放置两份 Compose
    • docker_compose.yaml:本机部署,挂载 ./data./exports
    • docker_compose.nas.yamlNAS 部署,默认绝对路径 /share/Container/revoxelseg_dicom
  4. 在独立目录初始化 Git 仓库并推送到 Gitea 新分支。
  5. 对独立目录执行 Compose 配置校验和构建验证。

执行步骤

  1. 清理并重建 ~/Desktop/ReVoxelSeg_DICOM_Docker
  2. 使用 rsync 复制必要目录并排除运行态产物。
  3. 写入根目录 Docker 部署文件。
  4. 执行 docker compose -f docker_compose.yaml configdocker compose -f docker_compose.nas.yaml config
  5. 执行 docker compose -f docker_compose.yaml buildup -d --build 验证独立目录可用。
  6. 验证本机端口与健康接口。
  7. 初始化独立目录 Git 仓库,创建 docker-standalone-20260521 分支并推送。
  8. 主项目提交工程分析记录。

兼容性与回滚方案

  • 若独立 Docker 目录构建失败,不影响当前主项目目录和已运行的 Docker 服务。
  • 若 Gitea 分支推送失败,可保留本地独立目录,并重新执行 git push origin docker-standalone-20260521
  • 若 NAS 路径不同,修改 docker_compose.nas.yaml 中的 build.context 和 volume 宿主机路径。

预计文件变更

主项目仅新增/更新工程分析文档;独立目录为新建自包含 Docker 程序包。

提交与部署策略

  • 独立 Docker 程序包在新分支 docker-standalone-20260521 中存储。
  • 主项目 main 分支仅提交工程分析记录,避免把独立运行包重复放进主项目。