3.1 KiB
3.1 KiB
实现方案:独立 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
技术路线
- 从主项目复制必要运行内容到独立目录:
- 复制
WebSite/,排除node_modules、dist、data、exports和本地环境文件。 - 复制默认演示数据
Head_CT_DICOM/、Head_CT_ReConstruct/。
- 复制
- 将 Dockerfile 调整为独立目录根构建:
COPY WebSite/package*.json ./WebSite/COPY WebSite ./WebSiteCOPY Head_CT_DICOM ./Head_CT_DICOMCOPY Head_CT_ReConstruct ./Head_CT_ReConstruct
- 根目录放置两份 Compose:
docker_compose.yaml:本机部署,挂载./data与./exports。docker_compose.nas.yaml:NAS 部署,默认绝对路径/share/Container/revoxelseg_dicom。
- 在独立目录初始化 Git 仓库并推送到 Gitea 新分支。
- 对独立目录执行 Compose 配置校验和构建验证。
执行步骤
- 清理并重建
~/Desktop/ReVoxelSeg_DICOM_Docker。 - 使用
rsync复制必要目录并排除运行态产物。 - 写入根目录 Docker 部署文件。
- 执行
docker compose -f docker_compose.yaml config与docker compose -f docker_compose.nas.yaml config。 - 执行
docker compose -f docker_compose.yaml build或up -d --build验证独立目录可用。 - 验证本机端口与健康接口。
- 初始化独立目录 Git 仓库,创建
docker-standalone-20260521分支并推送。 - 主项目提交工程分析记录。
兼容性与回滚方案
- 若独立 Docker 目录构建失败,不影响当前主项目目录和已运行的 Docker 服务。
- 若 Gitea 分支推送失败,可保留本地独立目录,并重新执行
git push origin docker-standalone-20260521。 - 若 NAS 路径不同,修改
docker_compose.nas.yaml中的build.context和 volume 宿主机路径。
预计文件变更
主项目仅新增/更新工程分析文档;独立目录为新建自包含 Docker 程序包。
提交与部署策略
- 独立 Docker 程序包在新分支
docker-standalone-20260521中存储。 - 主项目
main分支仅提交工程分析记录,避免把独立运行包重复放进主项目。