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

71 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 实现方案:独立 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_modules``dist``data``exports` 和本地环境文件。
- 复制默认演示数据 `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.yaml`NAS 部署,默认绝对路径 `/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 config``docker compose -f docker_compose.nas.yaml config`
5. 执行 `docker compose -f docker_compose.yaml build``up -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` 分支仅提交工程分析记录,避免把独立运行包重复放进主项目。