2026-05-21-11-13-49 记录独立Docker程序包分支

This commit is contained in:
2026-05-21 11:23:27 +08:00
parent b027f50118
commit 536370ab9a
4 changed files with 214 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
# 实现方案:独立 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` 分支仅提交工程分析记录,避免把独立运行包重复放进主项目。