GenStudio LLM API 部分模型价格调整公告GenStudio LLM API 部分模型价格调整公告 ,新价格 2025 年 11 月 1 日生效调价公告
Skip to content

SGLang 镜像 Dockerfile

如果出现以下情况,我们推荐您自己构建镜像:

  • 环境不匹配:平台提供的镜像不满足您特定的软件版本(如框架、库)组合。
  • 访问受限:您访问外部 Docker Hub 等公共仓库不方便或受限。

说明

本文包含的 Dockerfile 可用于镜像中心基于 Dockerfile 构建镜像,或直接在开发机中构建镜像(使用 docker build/docker buildx build)。

  • 基于 Ubuntu 22.04
  • 安装 CUDA 12.9.1
  • 安装 cuDNN 9.x
  • 安装 SGLang 0.5.5;如需安装其他版本,可更改版本号

Dockerfile 1

以下 Dockerfile 要求预先构建自定义系统级 CUDA 镜像。

  1. 先参考 CUDA + cudnn9.x 构建系统级 CUDA 镜像。
  2. 然后将其作为基础镜像(可推送至租户镜像中心),构建其他依赖系统级 CUDA 的应用镜像,可大幅节约构建时间。
dockerfile
# 推荐基于自定义 cuda 镜像构建 sglang 镜像
# FROM YOUR_CUSTOM_CUDA_IMAGE

# 设置 uv 使用清华镜像源
ENV UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple

# 安装Python包
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir uv && \
    uv pip install --system --verbose --no-cache \
        "sglang==0.5.5" --prerelease=allow && \
    uv cache clean && \
    rm -rf ~/.cache/pip

Dockerfile 2

以下 Dockerfile 一次性安装系统级 CUDA、cudnn、SGLang 及其依赖的 Python 包,耗时较长,适用于在开发机内部使用 docker 命令构建镜像。如果在镜像中心使用该 Dockerfile 构建镜像,构建时间有可能超过 1 小时限制,导致构建失败。

dockerfile
FROM cr.infini-ai.com/infini-ai/ubuntu:22.04-20240429

# 设置环境变量
# DEBIAN_FRONTEND=noninteractive 防止安装过程中的交互式提示
# PATH 添加CUDA可执行文件路径
# LD_LIBRARY_PATH 添加CUDA库文件路径
# CUDA_HOME 设置CUDA根目录
ENV PATH=/usr/local/cuda/bin:/usr/local/cuda-12.9/bin${PATH:+:${PATH}} \
    LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda-12.9/lib64:/usr/lib/x86_64-linux-gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} \
    CUDA_HOME=/usr/local/cuda \
    CPATH=/usr/include${CPATH:+:${CPATH}} \
    LIBRARY_PATH=/usr/lib/x86_64-linux-gnu${LIBRARY_PATH:+:${LIBRARY_PATH}}

# 安装CUDA并配置系统环境
# 1. 更新apt并安装必要工具
# 2. 清理apt缓存减小镜像体积
# 3. 下载CUDA安装包
# 4. 静默安装CUDA工具包(请勿安装 driver)
# 5. 配置动态链接库搜索路径
# 6. 更新动态链接库缓存
# 7. 清理安装包
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y wget build-essential \
    && rm -rf /var/lib/apt/lists/* \
    && wget https://developer.download.nvidia.com/compute/cuda/12.9.1/local_installers/cuda_12.9.1_575.57.08_linux.run \
    && sh cuda_12.9.1_575.57.08_linux.run --toolkit --silent --override \
    && echo '/usr/local/cuda/lib64' >> /etc/ld.so.conf \
    && echo '/usr/local/cuda-12.9/lib64' >> /etc/ld.so.conf \
    && ldconfig \
    && rm cuda_12.9.1_575.57.08_linux.run

# 安装cuDNN并配置环境
# 1. 下载并安装NVIDIA CUDA仓库公钥
# 2. 更新apt源
# 3. 安装cuDNN
# 4. 配置额外的库路径
# 5. 更新动态链接库缓存
# 6. 清理安装包和apt缓存
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb \
    && dpkg -i cuda-keyring_1.1-1_all.deb \
    && apt-get update \
    && apt-get install -y cudnn-cuda-12 \
    && echo '/usr/lib/x86_64-linux-gnu' >> /etc/ld.so.conf \
    && ldconfig \
    && rm cuda-keyring_1.1-1_all.deb \
    && rm -rf /var/lib/apt/lists/*


# 设置 uv 使用清华镜像源
ENV UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple

# 安装Python包
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir uv && \
    uv pip install --system --verbose --no-cache \
        "sglang==0.5.5" --prerelease=allow && \
    uv cache clean && \
    rm -rf ~/.cache/pip