This commit is contained in:
parent
67f8520177
commit
715fb60239
24
Dockerfile
24
Dockerfile
|
|
@ -1,7 +1,7 @@
|
||||||
############################
|
############################
|
||||||
# Stage-0: 构建镜像 #
|
# Stage-0: 构建依赖轮子 #
|
||||||
############################
|
############################
|
||||||
ARG CUDA_VERSION=12.8.1 # 仅 12.6.1 / 12.8.1 经测试可用
|
ARG CUDA_VERSION=12.8.1
|
||||||
FROM nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu22.04 AS builder
|
FROM nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu22.04 AS builder
|
||||||
|
|
||||||
# ---- Python & pip ----
|
# ---- Python & pip ----
|
||||||
|
|
@ -10,9 +10,9 @@ RUN apt-get update && \
|
||||||
ln -sf /usr/bin/python3 /usr/bin/python && \
|
ln -sf /usr/bin/python3 /usr/bin/python && \
|
||||||
python -m pip install --no-cache-dir --upgrade pip
|
python -m pip install --no-cache-dir --upgrade pip
|
||||||
|
|
||||||
# ---- 安装 PyTorch + SGLang ----
|
# ---- PyTorch + SGLang ----
|
||||||
ARG TORCH_VER=2.7.1 # cu128 轮子从 2.7.* 开始提供
|
ARG TORCH_VER=2.7.1
|
||||||
ARG TV_VER=0.22.1 # 0.22.1 与 torch-2.7.1 完全兼容
|
ARG TV_VER=0.22.1
|
||||||
RUN case "$CUDA_VERSION" in \
|
RUN case "$CUDA_VERSION" in \
|
||||||
12.6.1) CUINDEX=126 ;; \
|
12.6.1) CUINDEX=126 ;; \
|
||||||
12.8.1) CUINDEX=128 ;; \
|
12.8.1) CUINDEX=128 ;; \
|
||||||
|
|
@ -23,11 +23,10 @@ RUN case "$CUDA_VERSION" in \
|
||||||
torchvision==${TV_VER}+cu${CUINDEX} \
|
torchvision==${TV_VER}+cu${CUINDEX} \
|
||||||
--extra-index-url https://download.pytorch.org/whl/cu${CUINDEX} && \
|
--extra-index-url https://download.pytorch.org/whl/cu${CUINDEX} && \
|
||||||
python -m pip install --no-cache-dir sglang==0.4.8.post1 && \
|
python -m pip install --no-cache-dir sglang==0.4.8.post1 && \
|
||||||
# 12.8 额外装官方 sgl_kernel & NCCL
|
# CUDA 12.x 需要新版 NCCL
|
||||||
python -m pip install --no-cache-dir nvidia-nccl-cu12==2.27.3 --force-reinstall --no-deps && \
|
python -m pip install --no-cache-dir nvidia-nccl-cu12==2.27.3 --force-reinstall --no-deps && \
|
||||||
python -m pip install --no-cache-dir \
|
# ✅ 直接用 PyPI 上带 cp310 标签的二进制轮子,省去编译
|
||||||
https://github.com/sgl-project/whl/releases/download/v0.2.0/sgl_kernel-0.2.0+cu128-cp310-abi3-manylinux2014_x86_64.whl \
|
python -m pip install --no-cache-dir sgl-kernel==0.0.2.post17
|
||||||
--force-reinstall --no-deps
|
|
||||||
|
|
||||||
############################
|
############################
|
||||||
# Stage-1: 运行镜像 #
|
# Stage-1: 运行镜像 #
|
||||||
|
|
@ -37,23 +36,20 @@ FROM nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu22.04
|
||||||
ENV DEBIAN_FRONTEND=noninteractive \
|
ENV DEBIAN_FRONTEND=noninteractive \
|
||||||
PYTHONUNBUFFERED=1
|
PYTHONUNBUFFERED=1
|
||||||
|
|
||||||
# ---- 基础 Python ----
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y --no-install-recommends python3 python3-distutils && \
|
apt-get install -y --no-install-recommends python3 python3-distutils && \
|
||||||
ln -sf /usr/bin/python3 /usr/bin/python && \
|
ln -sf /usr/bin/python3 /usr/bin/python && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# ---- 复制依赖轮子 ----
|
# 复制依赖
|
||||||
COPY --from=builder /usr/local/lib/python3.*/dist-packages /usr/local/lib/python3.*/dist-packages
|
COPY --from=builder /usr/local/lib/python3.*/dist-packages /usr/local/lib/python3.*/dist-packages
|
||||||
COPY --from=builder /usr/local/bin /usr/local/bin
|
COPY --from=builder /usr/local/bin /usr/local/bin
|
||||||
|
|
||||||
# ---- 拷贝模型权重 ----
|
# 拷贝模型(示例)
|
||||||
COPY ./Alibaba/Qwen3-8B /root/.cradle/Alibaba/Qwen3-8B
|
COPY ./Alibaba/Qwen3-8B /root/.cradle/Alibaba/Qwen3-8B
|
||||||
|
|
||||||
# ---- 暴露端口 ----
|
|
||||||
EXPOSE 30000
|
EXPOSE 30000
|
||||||
|
|
||||||
# ---- 启动命令 ----
|
|
||||||
CMD ["python3", "-m", "sglang.launch_server", \
|
CMD ["python3", "-m", "sglang.launch_server", \
|
||||||
"--host", "0.0.0.0", \
|
"--host", "0.0.0.0", \
|
||||||
"--port", "30000", \
|
"--port", "30000", \
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue