# PR #26895 完整报告

- 仓库：`sgl-project/sglang`
- 标题：fix : add sglang script as entry bin for runtime docker image
- 合并时间：2026-06-01 15:22
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/26895

---

# 执行摘要

- 一句话：修复运行时 Docker 镜像缺少 sglang 入口脚本
- 推荐动作：该 PR 是标准的基础设施 bugfix，改动力度小，风险低。建议合入以修复用户端体验。无需特别关注设计决策。

# 功能与动机

根据 issue #26897 报告，运行时 Docker 镜像中执行 `sglang serve` 会报错 `bash: sglang: command not found`。PR body 明确指出 `/usr/local/bin/sglang` 文件缺失，导致 CLI 行为异常。本 PR 旨在恢复运行时镜像中 sglang 命令的可用性。

# 实现拆解

1. **修改 Dockerfile**：在 `docker/Dockerfile` 的第 788 行（位于 `COPY --from=framework_final /usr/local/bin/sgl-model-gateway /usr/local/bin/sgl-model-gateway` 之后）插入一行 `COPY --from=framework_final /usr/local/bin/sglang /usr/local/bin/sglang`。
2. **构建阶段复用**：利用已有的 `framework_final` 构建阶段中编译好的 `sglang` 二进制文件，将其复制到运行时镜像的对应路径，确保二进制依赖完整。
3. **单行变更**：仅增加 3 行（含空行和注释），无其他文件或逻辑改动。

关键文件：
- `docker/Dockerfile`（模块 部署脚本；类别 infra；类型 infrastructure）: 核心变更文件，在运行时镜像构建阶段添加了 sglang 二进制文件的复制指令，修复了 CLI 不可用的问题。

关键符号：未识别

## 关键源码片段

### `docker/Dockerfile`

核心变更文件，在运行时镜像构建阶段添加了 sglang 二进制文件的复制指令，修复了 CLI 不可用的问题。

```dockerfile
# docker/Dockerfile 片段（在运行时镜像构建阶段）

# ... 已有 COPY 命令 ...

# Copy sglang binary
COPY --from=framework_final /usr/local/bin/sglang /usr/local/bin/sglang

# Copy py-spy binary
COPY --from=framework_final /usr/local/bin/py-spy /usr/local/bin/py-spy
# ... 后续配置 ...

```

# 评论区精华

该 PR 无 review 评论。PR body 中作者简要说明了修改目的，CI 状态显示 PR Test 通过，额外测试有失败但非本 PR 引入。

- 暂无高价值评论线程

# 风险与影响

- 风险：风险极低：仅增加一行 COPY 指令，复用已存在的构建产物。若 `framework_final` 阶段未生成 `/usr/local/bin/sglang` 文件，则构建会失败，但该文件在项目中通常是存在的（参见其他 COPY 指令）。不会影响现有功能或引入回归问题。
- 影响：
 - **用户**：修复了运行时 Docker 镜像中 `sglang` 命令不可用的问题，用户可以正常使用 `sglang serve` 等 CLI 命令。
 - **系统 / 团队**：无影响，属于部署脚本的修复。
 - **影响程度**：小范围，仅针对 Docker 构建流程。
 - 风险标记：低风险

# 关联脉络

- 暂无明显关联 PR