# PR #22478 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[Docker] Fix CI docker target after Dockerfile restructure
- 合并时间：2026-04-10 09:53
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/22478

---

# 执行摘要

本次 PR 修复了 PR #22160 重构 Dockerfile 后引入的 CI 构建目标错误，将 release-docker.yml 和 release-docker-dev.yml 中的 `--target framework` 更新为 `--target framework_final`，确保官方 Docker 镜像包含完整的 sglang.srt 包，使 `sglang serve` 等核心功能恢复正常。这是一个紧急的基础设施修复，影响所有使用官方 Docker 镜像的用户。

# 功能与动机

PR #22160 将 Dockerfile 重构为并行多阶段构建，但未同步更新 CI 工作流的构建目标参数，导致发布的 Docker 镜像缺少 `sglang.srt` 包。如 PR body 所述：
> Published dev and release framework images are missing the sglang.srt package entirely. import sglang works but sglang serve and all SRT functionality is broken.

这使依赖 Docker 镜像的用户无法使用核心服务功能，本次修复旨在纠正这一配置错误。

# 实现拆解

修改涉及两个 CI 工作流文件，共 5 处改动：

| 文件 | 修改位置 | 原内容 | 新内容 | 影响 |
|------|----------|--------|--------|------|
| `.github/workflows/release-docker-dev.yml` | 第 96 行 | `--target framework` | `--target framework_final` | 修复开发版镜像构建 |
| `.github/workflows/release-docker.yml` | 第 83、106、180、203 行 | `--target framework` | `--target framework_final` | 修复正式版镜像构建 |

关键变更示例：
```diff
 docker buildx build \
   --platform ${{ matrix.platform }} \
   --output type=image,name=lmsysorg/sglang,push-by-digest=true,name-canonical=true,push=true \
-  --target framework \
+  --target framework_final \
   -f docker/Dockerfile \
```

# 评论区精华

无 review 讨论，PR 由作者直接合并。从提交信息看，这是一个针对已知回归问题的紧急修复。

# 风险与影响

**风险**：
1. 如果修改不完整（例如遗漏其他工作流文件），可能导致部分镜像仍然功能不全。
2. 测试覆盖不足：PR body 提到测试计划但未展示实际验证结果。

**影响**：
- 对用户：修复后，使用 `lmsysorg/sglang` Docker 镜像的用户将能正常使用 `sglang serve` 和 SRT 功能。
- 对团队：避免因镜像问题导致的用户支持负担和开发中断。
- 影响程度高，因为涉及核心功能的可用性。

# 关联脉络

本次修复直接关联 PR #22160，该 PR 重构 Dockerfile 但未更新 CI 配置，导致回归。类似的基础设施修复还包括 PR #22322（修复 Docker 安全漏洞）。这反映了在基础设施变更后，需要及时更新所有依赖配置的最佳实践。