sglang.0.4.8.post1/Dockerfile

55 lines
3.0 KiB
Docker
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.

###############################################################################
# Stage 0 ─ builderCUDA 12.6.1 + nvcc/gcc编译本地 sglang 源码
###############################################################################
ARG CUDA_VERSION=12.6.1
ARG CUINDEX=126 # 12.6.x ⇒ cu126
FROM nvidia/cuda:${CUDA_VERSION}-devel-ubuntu22.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive PYTHONUNBUFFERED=1 LANG=C.UTF-8 LC_ALL=C.UTF-8
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 python3-pip python3-distutils build-essential git ca-certificates && \
python3 -m pip install --no-cache-dir --upgrade pip setuptools wheel
# ── ① 下载官方 PyTorch / TorchVision wheel ────────────────────────────────
RUN python3 -m pip download --no-deps \
--dest /tmp/wheels \
--index-url https://download.pytorch.org/whl/cu${CUINDEX} \
torch==2.7.1 torchvision==0.22.1
# ── ② 下载 flashinfer cu126 / torch-2.7 wheel只下载不安装─────────────
RUN python3 -m pip download --no-deps \
--dest /tmp/wheels \
--find-links https://flashinfer.ai/whl/cu${CUINDEX}/torch2.7/flashinfer-python \
flashinfer-python
# ── ③ 安装前两步 wheel为后面编译 sglang 做依赖)──────────────────────
RUN python3 -m pip install --no-cache-dir /tmp/wheels/torch-2.7.1+cu${CUINDEX}*.whl \
/tmp/wheels/torchvision-0.22.1+cu${CUINDEX}*.whl \
/tmp/wheels/flashinfer_python-*-cu${CUINDEX}_torch27*.whl
# ── ④ COPY 本地 sglang 源码并编译成 wheel ─────────────────────────────────
COPY ./sglang /sgl-workspace/sglang
WORKDIR /sgl-workspace/sglang/python
RUN python3 -m pip wheel '.[srt,openai]' --no-deps -w /tmp/wheels
###############################################################################
# Stage 1 ─ runtime极简镜像只离线安装 wheel
###############################################################################
ARG CUDA_VERSION=12.6.1
FROM nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu22.04
ENV DEBIAN_FRONTEND=noninteractive PYTHONUNBUFFERED=1 LANG=C.UTF-8 LC_ALL=C.UTF-8
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 python3-pip python3-distutils ca-certificates && \
rm -rf /var/lib/apt/lists/* && \
python3 -m pip install --no-cache-dir --upgrade pip
# ── 把 builder 产出的所有 wheel一共 4~5 个)拷贝进来并安装 ───────────
COPY --from=builder /tmp/wheels /tmp/wheels
RUN python3 -m pip install --no-cache-dir /tmp/wheels/* && rm -rf /tmp/wheels
# ── 仅打印帮助CPU 机器也能跑 ─────────────────────────────────────────────
CMD ["python3", "-m", "sglang.launch_server", "--help"]