2026-09-20 03:09:47 UTC
9.21 GB
/usr/local/cuda
CUDA_VERSION13.0.1
DEBIAN_FRONTENDnoninteractive
LANGen_US.UTF-8
LANGUAGEen_US:en
LC_ALLen_US.UTF-8
LD_LIBRARY_PATH/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64
NVARCHx86_64
NVIDIA_DRIVER_CAPABILITIEScompute,utility
NVIDIA_REQUIRE_CUDAcuda>=13.0 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551 brand=unknown,driver>=565,driver<566 brand=grid,driver>=565,driver<566 brand=tesla,driver>=565,driver<566 brand=nvidia,driver>=565,driver<566 brand=quadro,driver>=565,driver<566 brand=quadrortx,driver>=565,driver<566 brand=nvidiartx,driver>=565,driver<566 brand=vapps,driver>=565,driver<566 brand=vpc,driver>=565,driver<566 brand=vcs,driver>=565,driver<566 brand=vws,driver>=565,driver<566 brand=cloudgaming,driver>=565,driver<566 brand=unknown,driver>=570,driver<571 brand=grid,driver>=570,driver<571 brand=tesla,driver>=570,driver<571 brand=nvidia,driver>=570,driver<571 brand=quadro,driver>=570,driver<571 brand=quadrortx,driver>=570,driver<571 brand=nvidiartx,driver>=570,driver<571 brand=vapps,driver>=570,driver<571 brand=vpc,driver>=570,driver<571 brand=vcs,driver>=570,driver<571 brand=vws,driver>=570,driver<571 brand=cloudgaming,driver>=570,driver<571 brand=unknown,driver>=575,driver<576 brand=grid,driver>=575,driver<576 brand=tesla,driver>=575,driver<576 brand=nvidia,driver>=575,driver<576 brand=quadro,driver>=575,driver<576 brand=quadrortx,driver>=575,driver<576 brand=nvidiartx,driver>=575,driver<576 brand=vapps,driver>=575,driver<576 brand=vpc,driver>=575,driver<576 brand=vcs,driver>=575,driver<576 brand=vws,driver>=575,driver<576 brand=cloudgaming,driver>=575,driver<576
NVIDIA_VISIBLE_DEVICESall
NV_CUDA_CUDART_VERSION13.0.96-1
PATH/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIP_DISABLE_PIP_VERSION_CHECK1
PIP_NO_CACHE_DIR1
PIP_ROOT_USER_ACTIONignore
PYTHON_VERSION3.12
RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES1
RUNAI_STREAMER_LOG_LEVELINFO
RUNAI_STREAMER_LOG_TO_STDERR1
RUNAI_STREAMER_MEMORY_LIMIT0
SAFETENSORS_FAST_GPU1
TORCH_CUDA_ARCH_LIST7.5 8.0 8.6 8.9 9.0 10.0 12.0
UV_CACHE_DIR/opt/uv/cache
UV_HTTP_TIMEOUT500
UV_INDEX_STRATEGYunsafe-best-match
UV_LINK_MODEcopy
UV_NO_CACHE1
UV_OVERRIDE/etc/uv-overrides.txt
UV_PRERELEASEallow
UV_PYTHON_INSTALL_DIR/opt/uv/python
UV_SKIP_WHEEL_FILENAME_CHECK1
UV_SYSTEM_PYTHON1
VLLM_BUILD_COMMIT6e448d0ea9bf3d88d898b65449ca6dc2aec170ac
VLLM_BUILD_PIPELINE019d130e-464e-4ff7-b84b-492992c0c06b
VLLM_BUILD_URLhttps://buildkite.com/vllm/release-v2/builds/5006
VLLM_ENABLE_CUDA_COMPATIBILITY0
VLLM_IMAGE_TAGvllm/vllm-openai:v0.27.1-ubuntu2404
VLLM_LMCACHE_VERSION0.5.4
VLLM_TORCH_CUDA_VERSION13.0.1
VLLM_TORCH_VERSION2.13.0
VLLM_USAGE_SOURCEproduction-docker-image
VLLM_VERSION0.27.1
[#000] sha256:cf57d2112d8994ff0bb5f867ab8e776272e1d0bcfbb6e6d7f38fd7973b7140cf - 0.31% (29.2 MB)
[#001] sha256:c567a87f21d2f8e46feb4f6c427eb5559d45a1a222f73d601352403d13af1ada - 0.05% (4.34 MB)
[#002] sha256:0b3b5bd928240da4156c41fcfb400c1f4f8674acd2faee0413ab5a032dfb5f76 - 1.06% (100 MB)
[#003] sha256:70f87b6ed43e1cbbe67ce74c7877fb771bf352b25d602a82ee4f840f2e265155 - 0.0% (182 Bytes)
[#004] sha256:526d5438c009ab7178af1646fed10ff6f47a73f5a1ae7b9f49e63e4ade7e3ae6 - 0.0% (6.72 KB)
[#005] sha256:afe4bfa39c7a49910d65b5b65923732be0bf831be83ff834f2dc2c1fb48540b9 - 0.0% (104 Bytes)
[#006] sha256:b6c805f11f56fbc8aac6e62229dc4ed28ec5633d87bb87c44bb6951b114b2bb8 - 0.0% (230 Bytes)
[#007] sha256:027e849d5520238a01d2c915f14a74c6670b75b73fce3c1d08c2dfa5a91fceb4 - 2.36% (223 MB)
[#008] sha256:bc2b304753bd8370f551d7266a1a8b643872c4d216b3f6f9433b2b55d5b8b288 - 13.91% (1.28 GB)
[#009] sha256:2a976ba9ea4e97b30861dd7d6ab12a764fa647e90060c650054009e9e41e6aec - 0.46% (43.1 MB)
[#010] sha256:c155b5f73527a3331824245221170f7a6c7763a53773f221c11889ae1bfa3aad - 0.0% (150 Bytes)
[#011] sha256:19b08a69602d6a6bd3cb07648d257cf64fc4391e5a68751751571899eee4a80b - 0.0% (164 Bytes)
[#012] sha256:0532ffc6b7156f68cec3dfdd3e2cf437dfce3558efef78f46f78e8fc016a5c75 - 0.0% (3.62 KB)
[#013] sha256:23bd0472ec62ade0383f17862241e54fb19f33679655e5ce7b42407ad0fb0599 - 0.0% (2.03 KB)
[#014] sha256:23bd0472ec62ade0383f17862241e54fb19f33679655e5ce7b42407ad0fb0599 - 0.0% (2.03 KB)
[#015] sha256:3a72487bb83ac75a06c3f989ff7948213588956e3446fe2461f3dd2a5d4bcdd8 - 0.0% (1.62 KB)
[#016] sha256:152364ffa4cae3aa335c9a886bbf215449215958cdc754ff0e8b23626bd05993 - 0.0% (871 Bytes)
[#017] sha256:f1e1ae4913d63ff7af2f92eb2d39f7c731501bbd427e11cd508cc7db42a41bc0 - 46.94% (4.32 GB)
[#018] sha256:c42386fa11019918c4966515724e7046fee2cd9e4de163ce88189a24f53e7197 - 15.23% (1.4 GB)
[#019] sha256:e81fbf7db412ac6419564db3773747b29cf0a8e7e63c6898dd0670b8e10f3b90 - 0.0% (897 Bytes)
[#020] sha256:74cb8e7224a37a7bb899afa542879894f9a9eed0eece9134afc0a763811cba3f - 0.01% (523 KB)
[#021] sha256:5e6c54307d986a1fdde433cc5966b39eba43ef0e8cb2ef6d2ec108190b3b6919 - 1.03% (97.5 MB)
[#022] sha256:e01d8932789732cddf337eeba6a3bd9323331f0e85ddfbcc4305aaf4cfff8b51 - 0.0% (200 Bytes)
[#023] sha256:cc1274a17fb4c6a5c2575669fb7d0130142f38a5a4ed64dc29b2673db22c2d05 - 0.0% (226 Bytes)
[#024] sha256:585a0598f31503fe062c172c6e706e09f6ae4af9c48bc647e599f313a2e634ee - 3.1% (293 MB)
[#025] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#026] sha256:bf44cfef95ac241efef700c94a95c4e0001b2b1ce0235d26ae7221beb459a695 - 0.0% (253 Bytes)
[#027] sha256:67cdffb5f318e78c0332616ca3f8f850ab32283075ed666f7d51217ac931b6e8 - 0.15% (14.3 MB)
[#028] sha256:77c1abc9192f444238399b92ff3658e3d3c0db9df128da53bb1c5ee0d7e0ad84 - 0.0% (262 KB)
[#029] sha256:30331a0517959892c55855011b6acb311cd98a387769e28b694b31d389746906 - 0.0% (272 KB)
[#030] sha256:074d893f38f6db35ee0ddeaef7ca42dea54b56b028c8380591b4f43cbfd41361 - 0.0% (9.62 KB)
[#031] sha256:e57766cd702c75653ad00bb26664652e1e5089ed1f348dcb6dbf96d4355c98d8 - 2.97% (280 MB)
[#032] sha256:5afb1ce26259f89d7dc35a306f659e4a25af51842aed31c6bbe1217412b419c5 - 4.88% (460 MB)
[#033] sha256:8884687d52168886112e254f5f88530bee4ad39353d98ecc4b4122a990bd8afd - 0.98% (92.2 MB)
[#034] sha256:90d8f02defdda120b2357cf23409980761c470edc886a9de598fecd96d1ce183 - 0.0% (1.9 KB)
[#035] sha256:a8dc27eb318809b64819e8c9a7220bac0f0523071d212ecd40abd7f30396c5b6 - 0.33% (31.1 MB)
[#036] sha256:48e956263098061e9d910b5c38ea8a34ccdf91343191dd4749065a93e12cb71d - 2.17% (205 MB)
[#037] sha256:f817939c37f722ad41088dc89c435f590c1cd38d24e65c1c804b3179d31fdbca - 2.6% (245 MB)
[#038] sha256:27b651b7842a6700e395c3097c5bc1635b769f556268465601167e6518b50eeb - 0.23% (21.5 MB)
[#039] sha256:68fe7035dd510bbea30a906a99c49510e1ebfc8717c4a6fbd8bf889982550106 - 0.69% (65.4 MB)
[#040] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#041] sha256:82e3b1ee075f099a83f4649f296d8ec1c34b974455f6128a40a12486c2b08ca8 - 0.0% (36.3 KB)
[#042] sha256:6bade284fc1d9ec2f1bd36520dd928a1bc394e62e9e10ee93b851882118d844f - 0.13% (12.5 MB)
[#043] sha256:0706ca0786866295f9d7a02c287d0f8a9b2d59b69f834872a22381306f800305 - 0.31% (29.6 MB)
[#044] sha256:0cb41b2f4240dd2055980e38c410eba448d35c2c0f76600f183b4d0d2e7c2d42 - 0.09% (8.35 MB)
[#045] sha256:72825b3a664c36461fd99deebe9a41659a7eb5167f6b47cdce6cb83a919bdeb3 - 0.0% (343 Bytes)
/bin/sh -c #(nop) ARG RELEASE
2025-10-01 13:01:35 UTC/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
2025-10-01 13:01:35 UTC/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
2025-10-01 13:01:35 UTC/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04
2025-10-01 13:01:37 UTC/bin/sh -c #(nop) ADD file:249778a1782b02a1c2bcf9f292f5778d81442a53c3de1958d712f10baf7e0b60 in /
2025-10-01 13:01:37 UTC/bin/sh -c #(nop) CMD ["/bin/bash"]
2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)ENV NVARCH=x86_64
2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)ENV NVIDIA_REQUIRE_CUDA=cuda>=13.0 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551 brand=unknown,driver>=565,driver<566 brand=grid,driver>=565,driver<566 brand=tesla,driver>=565,driver<566 brand=nvidia,driver>=565,driver<566 brand=quadro,driver>=565,driver<566 brand=quadrortx,driver>=565,driver<566 brand=nvidiartx,driver>=565,driver<566 brand=vapps,driver>=565,driver<566 brand=vpc,driver>=565,driver<566 brand=vcs,driver>=565,driver<566 brand=vws,driver>=565,driver<566 brand=cloudgaming,driver>=565,driver<566 brand=unknown,driver>=570,driver<571 brand=grid,driver>=570,driver<571 brand=tesla,driver>=570,driver<571 brand=nvidia,driver>=570,driver<571 brand=quadro,driver>=570,driver<571 brand=quadrortx,driver>=570,driver<571 brand=nvidiartx,driver>=570,driver<571 brand=vapps,driver>=570,driver<571 brand=vpc,driver>=570,driver<571 brand=vcs,driver>=570,driver<571 brand=vws,driver>=570,driver<571 brand=cloudgaming,driver>=570,driver<571 brand=unknown,driver>=575,driver<576 brand=grid,driver>=575,driver<576 brand=tesla,driver>=575,driver<576 brand=nvidia,driver>=575,driver<576 brand=quadro,driver>=575,driver<576 brand=quadrortx,driver>=575,driver<576 brand=nvidiartx,driver>=575,driver<576 brand=vapps,driver>=575,driver<576 brand=vpc,driver>=575,driver<576 brand=vcs,driver>=575,driver<576 brand=vws,driver>=575,driver<576 brand=cloudgaming,driver>=575,driver<576
2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)ENV NV_CUDA_CUDART_VERSION=13.0.96-1
2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)ARG TARGETARCH
2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com>
2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH}/3bf863cc.pub | apt-key add - && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH} /" > /etc/apt/sources.list.d/cuda.list && apt-get purge --autoremove -y curl && rm -rf /var/lib/apt/lists/* # buildkit
2025-10-10 16:48:09 UTC (buildkit.dockerfile.v0)ENV CUDA_VERSION=13.0.2
2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-cudart-13-0=${NV_CUDA_CUDART_VERSION} cuda-compat-13-0 && rm -rf /var/lib/apt/lists/* # buildkit
2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)RUN |1 TARGETARCH=amd64 /bin/sh -c echo "/usr/local/cuda/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit
2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64
2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)COPY NGC-DL-CONTAINER-LICENSE / # buildkit
2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)ENV NVIDIA_VISIBLE_DEVICES=all
2025-10-10 16:48:26 UTC (buildkit.dockerfile.v0)ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)ARG CUDA_VERSION
2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)ARG PYTHON_VERSION
2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)ARG NCCL_VERSION
2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)ARG DEADSNAKES_MIRROR_URL
2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)ARG DEADSNAKES_GPGKEY_URL
2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)ARG GET_PIP_URL
2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)ENV DEBIAN_FRONTEND=noninteractive
2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)WORKDIR /vllm-workspace
2026-08-11 09:04:41 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c PYTHON_VERSION_STR=$(echo ${PYTHON_VERSION} | sed 's/\.//g') && echo "export PYTHON_VERSION_STR=${PYTHON_VERSION_STR}" >> /etc/environment # buildkit
2026-08-11 09:06:39 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c apt-get update -y && apt-get install -y --no-install-recommends software-properties-common curl sudo ffmpeg libsm6 libxext6 libgl1 && if [ ! -z ${DEADSNAKES_MIRROR_URL} ] ; then if [ ! -z "${DEADSNAKES_GPGKEY_URL}" ] ; then mkdir -p -m 0755 /etc/apt/keyrings ; curl -L ${DEADSNAKES_GPGKEY_URL} | gpg --dearmor > /etc/apt/keyrings/deadsnakes.gpg ; sudo chmod 644 /etc/apt/keyrings/deadsnakes.gpg ; echo "deb [signed-by=/etc/apt/keyrings/deadsnakes.gpg] ${DEADSNAKES_MIRROR_URL} $(lsb_release -cs) main" > /etc/apt/sources.list.d/deadsnakes.list ; fi ; else for i in 1 2 3; do add-apt-repository -y ppa:deadsnakes/ppa && break || { echo "Attempt $i failed, retrying in 5s..."; sleep 5; }; done ; fi && apt-get update -y && apt-get install -y --no-install-recommends python${PYTHON_VERSION} python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv libibverbs-dev && rm -rf /var/lib/apt/lists/* && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 && update-alternatives --set python3 /usr/bin/python${PYTHON_VERSION} && ln -sf /usr/bin/python${PYTHON_VERSION}-config /usr/bin/python3-config && rm -f /usr/lib/python${PYTHON_VERSION}/EXTERNALLY-MANAGED && curl -sS ${GET_PIP_URL} | python${PYTHON_VERSION} && python3 --version && python3 -m pip --version # buildkit
2026-08-11 09:07:25 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c CUDA_VERSION_DASH=$(echo $CUDA_VERSION | cut -d. -f1,2 | tr '.' '-') && apt-get update -y && apt-get install -y --no-install-recommends --allow-change-held-packages cuda-nvcc-${CUDA_VERSION_DASH} cuda-cudart-${CUDA_VERSION_DASH} cuda-nvrtc-${CUDA_VERSION_DASH} cuda-cuobjdump-${CUDA_VERSION_DASH} libcurand-dev-${CUDA_VERSION_DASH} libcublas-dev-${CUDA_VERSION_DASH} libnuma-dev numactl && rm -rf /var/lib/apt/lists/* # buildkit
2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c python3 -m pip install uv # buildkit
2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)ENV UV_HTTP_TIMEOUT=500
2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)ENV UV_INDEX_STRATEGY=unsafe-best-match
2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)ENV UV_LINK_MODE=copy
2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)ENV UV_PYTHON_INSTALL_DIR=/opt/uv/python
2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)ENV UV_CACHE_DIR=/opt/uv/cache
2026-08-11 09:07:54 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c mkdir -p "${UV_PYTHON_INSTALL_DIR}" "${UV_CACHE_DIR}" && chgrp -R 0 /opt/uv && chmod -R g+rwX,a+rX /opt/uv # buildkit
2026-08-11 09:07:56 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c CUDA_MAJOR=$(echo $CUDA_VERSION | cut -d. -f1) && if [ -n "$NCCL_VERSION" ]; then echo "nvidia-nccl-cu${CUDA_MAJOR}==${NCCL_VERSION}" > /etc/uv-overrides.txt; else touch /etc/uv-overrides.txt; fi # buildkit
2026-08-11 09:07:56 UTC (buildkit.dockerfile.v0)ENV UV_OVERRIDE=/etc/uv-overrides.txt
2026-08-11 09:07:58 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c useradd --uid 2000 --gid 0 --create-home --home-dir /home/vllm --shell /bin/bash vllm && mkdir -p /home/vllm/.cache /home/vllm/.config && chown -R 2000:0 /home/vllm && chmod -R g+rwX /home/vllm && chgrp 0 /etc/passwd /etc/group && chmod g=u /etc/passwd /etc/group # buildkit
2026-08-11 09:07:59 UTC (buildkit.dockerfile.v0)COPY docker/entrypoints/vllm-nonroot-entrypoint.sh /usr/local/bin/vllm-nonroot-entrypoint.sh # buildkit
2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c chmod 0755 /usr/local/bin/vllm-nonroot-entrypoint.sh # buildkit
2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)ENV VLLM_ENABLE_CUDA_COMPATIBILITY=0
2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)ARG PYTORCH_CUDA_INDEX_BASE_URL
2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)COPY requirements/common.txt /tmp/common.txt # buildkit
2026-08-11 09:08:00 UTC (buildkit.dockerfile.v0)COPY requirements/cuda.txt /tmp/requirements-cuda.txt # buildkit
2026-08-11 09:08:28 UTC (buildkit.dockerfile.v0)RUN |7 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl /bin/sh -c if [ "$(echo $CUDA_VERSION | cut -d. -f1)" = "12" ]; then sed -i 's/^nvidia-cutlass-dsl\[cu13\]/nvidia-cutlass-dsl/' /tmp/requirements-cuda.txt; sed -i 's/^humming-kernels\[cu13\]/humming-kernels[cu12]/' /tmp/requirements-cuda.txt; fi && uv pip install --system -r /tmp/requirements-cuda.txt --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') && rm /tmp/requirements-cuda.txt /tmp/common.txt # buildkit
2026-08-11 09:08:28 UTC (buildkit.dockerfile.v0)ARG FLASHINFER_VERSION=0.6.16.post3
2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)RUN |8 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 /bin/sh -c uv pip install --system flashinfer-jit-cache==${FLASHINFER_VERSION} --index-url https://flashinfer.ai/whl/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') # buildkit
2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)ARG GDRCOPY_CUDA_VERSION=12.8
2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)ARG GDRCOPY_OS_VERSION=Ubuntu22_04
2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM
2026-08-11 09:08:49 UTC (buildkit.dockerfile.v0)COPY tools/install_gdrcopy.sh /tmp/install_gdrcopy.sh # buildkit
2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)RUN |11 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 /bin/sh -c set -eux; case "${TARGETPLATFORM}" in linux/arm64) UUARCH="aarch64" ;; linux/amd64) UUARCH="x64" ;; *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" >&2; exit 1 ;; esac; /tmp/install_gdrcopy.sh "${GDRCOPY_OS_VERSION}" "${GDRCOPY_CUDA_VERSION}" "${UUARCH}" && rm /tmp/install_gdrcopy.sh # buildkit
2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)ARG BITSANDBYTES_VERSION_X86=0.46.1
2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)ARG BITSANDBYTES_VERSION_ARM64=0.42.0
2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)ARG TIMM_VERSION=>=1.0.17
2026-08-11 09:08:55 UTC (buildkit.dockerfile.v0)ARG RUNAI_MODEL_STREAMER_VERSION=>=0.15.7
2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)RUN |15 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 /bin/sh -c if [ "$TARGETPLATFORM" = "linux/arm64" ]; then BITSANDBYTES_VERSION="${BITSANDBYTES_VERSION_ARM64}"; else BITSANDBYTES_VERSION="${BITSANDBYTES_VERSION_X86}"; fi; uv pip install --system accelerate 'modelscope<1.38' "bitsandbytes>=${BITSANDBYTES_VERSION}" "timm${TIMM_VERSION}" "runai-model-streamer[s3,gcs,azure]${RUNAI_MODEL_STREAMER_VERSION}" # buildkit
2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)ARG PIP_INDEX_URL UV_INDEX_URL
2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)ARG PIP_EXTRA_INDEX_URL UV_EXTRA_INDEX_URL
2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)ARG PYTORCH_CUDA_INDEX_BASE_URL
2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)ARG PIP_KEYRING_PROVIDER UV_KEYRING_PROVIDER
2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)ARG PYTORCH_NIGHTLY
2026-08-11 09:08:59 UTC (buildkit.dockerfile.v0)COPY /workspace/torch_lib_versions.txt torch_lib_versions.txt # buildkit
2026-08-11 09:20:57 UTC (buildkit.dockerfile.v0)COPY /workspace/dist/wheel.sha256 /tmp/vllm-wheel.sha256 # buildkit
2026-08-11 09:21:03 UTC (buildkit.dockerfile.v0)RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c if [ "${PYTORCH_NIGHTLY}" = "1" ]; then echo "Installing torch nightly..." && uv pip install --system $(cat torch_lib_versions.txt | xargs) --pre --index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') && echo "Installing vLLM..." && uv pip install --system dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); else echo "Installing vLLM..." && uv pip install --system dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); fi # buildkit
2026-08-11 09:21:03 UTC (buildkit.dockerfile.v0)RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c . /etc/environment && uv pip list # buildkit
2026-08-11 09:21:03 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64
2026-08-11 09:21:03 UTC (buildkit.dockerfile.v0)COPY /tmp/ep_kernels_workspace/dist/wheels.sha256 /tmp/ep-kernels-wheels.sha256 # buildkit
2026-08-11 09:21:04 UTC (buildkit.dockerfile.v0)RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/amd64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c uv pip install --system ep_kernels/dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') # buildkit
2026-08-11 09:21:04 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64
2026-08-11 09:21:04 UTC (buildkit.dockerfile.v0)COPY examples examples # buildkit
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)COPY benchmarks benchmarks # buildkit
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)COPY ./vllm/collect_env.py . # buildkit
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG INSTALL_KV_CONNECTORS=false
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG CUDA_VERSION
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG VLLM_BUILD_COMMIT
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG VLLM_BUILD_PIPELINE
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG VLLM_BUILD_URL
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG VLLM_IMAGE_TAG
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG PIP_INDEX_URL UV_INDEX_URL
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG PIP_EXTRA_INDEX_URL UV_EXTRA_INDEX_URL
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ENV UV_HTTP_TIMEOUT=500
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ARG torch_cuda_arch_list=7.5 8.0 8.6 8.9 9.0 10.0 11.0 12.0
2026-08-11 09:21:05 UTC (buildkit.dockerfile.v0)ENV TORCH_CUDA_ARCH_LIST=7.5 8.0 8.6 8.9 9.0 10.0 12.0
2026-08-11 09:21:13 UTC (buildkit.dockerfile.v0)RUN |12 TARGETPLATFORM=linux/amd64 INSTALL_KV_CONNECTORS=true CUDA_VERSION=13.0.2 VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= torch_cuda_arch_list=7.5 8.0 8.6 8.9 9.0 10.0 12.0 /bin/sh -c CUDA_MAJOR="${CUDA_VERSION%%.*}"; CUDA_VERSION_DASH=$(echo $CUDA_VERSION | cut -d. -f1,2 | tr '.' '-'); CUDA_HOME=/usr/local/cuda; BUILD_PKGS="libcusparse-dev-${CUDA_VERSION_DASH} libcublas-dev-${CUDA_VERSION_DASH} libcusolver-dev-${CUDA_VERSION_DASH}"; if [ "$INSTALL_KV_CONNECTORS" = "true" ]; then uv pip install --system -r /tmp/kv_connectors.txt --no-build || ( apt-get update -y && apt-get install -y --no-install-recommends --allow-change-held-packages ${BUILD_PKGS} && uv pip install --system -r /tmp/kv_connectors.txt --no-build-isolation && apt-get purge -y ${BUILD_PKGS} && rm -rf /var/lib/apt/lists/* ); uv pip install --system --force-reinstall --no-deps nixl-cu${CUDA_MAJOR}; fi # buildkit
2026-08-11 09:21:13 UTC (buildkit.dockerfile.v0)ARG MOONCAKE_WHEEL_AARCH64
2026-08-11 09:21:13 UTC (buildkit.dockerfile.v0)ARG MOONCAKE_WHEEL_X86_64
2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)RUN |14 TARGETPLATFORM=linux/amd64 INSTALL_KV_CONNECTORS=true CUDA_VERSION=13.0.2 VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= torch_cuda_arch_list=7.5 8.0 8.6 8.9 9.0 10.0 12.0 MOONCAKE_WHEEL_AARCH64=https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_39_aarch64.whl MOONCAKE_WHEEL_X86_64=https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_35_x86_64.whl /bin/sh -c if [ "$INSTALL_KV_CONNECTORS" = "true" ]; then if [ "$TARGETPLATFORM" = "linux/arm64" ]; then WHEEL="${MOONCAKE_WHEEL_AARCH64}"; else WHEEL="${MOONCAKE_WHEEL_X86_64}"; fi && if [ -n "${WHEEL}" ]; then uv pip install --system "${WHEEL}" && CUDA_MAJOR="${CUDA_VERSION%%.*}" && if [ ! -f /usr/local/cuda/lib64/libcudart.so ] && [ -f "/usr/local/cuda/lib64/libcudart.so.${CUDA_MAJOR}" ]; then ln -s "libcudart.so.${CUDA_MAJOR}" /usr/local/cuda/lib64/libcudart.so; fi; fi; fi # buildkit
2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)ENV VLLM_USAGE_SOURCE=production-docker-image
2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)ENV VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404
2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/vllm-project/vllm org.opencontainers.image.revision=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac org.opencontainers.image.version=vllm/vllm-openai:v0.27.1-ubuntu2404 org.opencontainers.image.url=https://buildkite.com/vllm/release-v2/builds/5006 ai.vllm.build.commit=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac ai.vllm.build.pipeline=019d130e-464e-4ff7-b84b-492992c0c06b ai.vllm.build.url=https://buildkite.com/vllm/release-v2/builds/5006 ai.vllm.image.tag=vllm/vllm-openai:v0.27.1-ubuntu2404
2026-08-11 09:21:21 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["vllm" "serve"]
2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/amd64
2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)ENV DEBIAN_FRONTEND=noninteractive LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # Tools # Refresh apt-get update -y && apt-get install -y --no-install-recommends \ software-properties-common apt-transport-https \ ca-certificates gnupg2 lsb-release gnupg-agent \ && apt-get update -y # Install apt-get install -y --no-install-recommends \ ca-certificates build-essential binutils bash openssl \ curl wget aria2 \ git git-lfs \ unzip xz-utils \ tzdata locales \ iproute2 iputils-ping ifstat net-tools dnsutils pciutils ipmitool \ rdma-core rdmacm-utils infiniband-diags \ procps sysstat htop \ tini vim jq bc tree # Update locale localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 # Update timezone rm -f /etc/localtime \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone \ && dpkg-reconfigure --frontend noninteractive tzdata # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* \ && rm -rf /var/cache/apt # buildkit
2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)ARG PYTHON_VERSION=3.12
2026-08-14 07:58:51 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.12
2026-08-14 07:58:52 UTC (buildkit.dockerfile.v0)RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Python # Update alternatives if ! command -v python >/dev/null 2>&1 \ && command -v python${PYTHON_VERSION} >/dev/null 2>&1; then update-alternatives --install /usr/bin/python python $(which python${PYTHON_VERSION}) 1 fi # buildkit
2026-08-14 07:58:52 UTC (buildkit.dockerfile.v0)ENV PIP_NO_CACHE_DIR=1 PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Buildkit cat <<EOT >/tmp/requirements.txt build cmake<4 wheel pybind11<3 Cython EOT pip install -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ARG CUDA_VERSION=13.0.1
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ARG CUDA_ARCHS
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ENV CUDA_HOME=/usr/local/cuda CUDA_VERSION=13.0.1 CUDA_ARCHS=
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ENV UV_SYSTEM_PYTHON=1 UV_PRERELEASE=allow UV_SKIP_WHEEL_FILENAME_CHECK=1 UV_NO_CACHE=1 UV_HTTP_TIMEOUT=500 UV_INDEX_STRATEGY=unsafe-best-match
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ARG VLLM_VERSION=0.27.1
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ARG VLLM_TORCH_VERSION=2.13.0
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ARG VLLM_TORCH_CUDA_VERSION=13.0.1
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ENV VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/amd64
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-08-14 07:58:54 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-08-14 07:58:58 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 /bin/bash -eo pipefail -c # Ray # Install Ray Client and Default. # Pinned to 2.54.0: ray 2.55 (ray-project/ray#61029) breaks distributed # ray.init when the driver has no co-located raylet (gpustack split containers). RAY_VERSION=2.54.0 cat <<EOT >/tmp/requirements.txt ray[cgraph]==${RAY_VERSION} ray[client]==${RAY_VERSION} ray[default]==${RAY_VERSION} EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-14 07:59:33 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 /bin/bash -eo pipefail -c # Omni if [[ ! -d /omni/workspace ]]; then echo "Skipping vLLM Omni installation for ${TARGETARCH}..." exit 0 fi # Install uv pip install --no-build-isolation \ /omni/workspace/*.whl # Dependencies cat <<EOT >/tmp/requirements.txt onnxruntime sox EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-14 07:59:33 UTC (buildkit.dockerfile.v0)ARG VLLM_LMCACHE_VERSION=0.5.4
2026-08-14 07:59:33 UTC (buildkit.dockerfile.v0)ENV VLLM_LMCACHE_VERSION=0.5.4
2026-08-25 10:19:17 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # LMCache # Install ## Replaces the base's own lmcache —— see the note on VLLM_LMCACHE_VERSION. Must run before ## the CuPy dedup below, since lmcache declares a CUDA-major-specific cupy variant. uv pip install --no-build-isolation \ /lmcache/workspace/*.whl # Review uv pip show lmcache ## Fail here on a torch ABI mismatch: lmcache itself only WARNs and falls back to its slow ## torch baseline. RTLD_NOW resolves all symbols without module init, so this needs no GPU. cat <<EOT >/tmp/check_lmcache.py import ctypes, glob, os, sysconfig, torch platlib = sysconfig.get_paths()["platlib"] sos = glob.glob(platlib + "/lmcache/*.so") assert sos, "no lmcache extension found under " + platlib for so in sos: ctypes.CDLL(so, mode=os.RTLD_NOW) print("lmcache resolved against torch " + torch.__version__ + ": " + ", ".join(sos)) EOT python /tmp/check_lmcache.py # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-25 10:19:20 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # CuPy # ray[cgraph] pulls cupy-cuda12x while the base already ships cupy-cuda13x; both share # the same cupy/ tree, so uninstalling one breaks the other. Purge both, then reinstall # the CUDA-matching variant at the version vLLM pinned in the base (its cupy-cuda13x), # so cu129 also gets that pinned version instead of ray's unconstrained cupy-cuda12x. # Our own lmcache is a third source but agrees with this reinstall: its build stage sets # LMCACHE_CUDA_MAJOR from the same CUDA major used here. IFS="." read -r CUDA_MAJOR CUDA_MINOR CUDA_PATCH <<< "${CUDA_VERSION}" PLATLIB="$(python -c 'import sysconfig; print(sysconfig.get_paths()["platlib"])')" CUPY="cupy-cuda${CUDA_MAJOR}x" CUPY_VER="$(uv pip show cupy-cuda13x 2>/dev/null | awk '/^Version:/{print $2}' || true)" uv pip uninstall cupy-cuda12x cupy-cuda13x || true rm -rf "${PLATLIB}"/cupy "${PLATLIB}"/cupyx "${PLATLIB}"/cupy_backends # cupy-cuda12x and cupy-cuda13x share the same version number, so reuse the base's # pinned version and install only the variant matching the CUDA major we build for. # Fail loudly if the base no longer ships cupy, rather than installing an unpinned latest. if [[ -z "${CUPY_VER}" ]]; then echo "cupy-cuda13x not found in base image; refusing to install unpinned cupy" >&2 exit 1 fi uv pip install "${CUPY}==${CUPY_VER}" # Review uv pip show "${CUPY}" # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-25 10:19:20 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Postprocess # Review uv pip tree \ --package vllm \ --package vllm-omni \ --package flashinfer-python \ --package torch \ --package triton \ --package deep-gemm \ --package deep-ep \ --package lmcache \ --package mooncake-transfer-engine \ --package ray # buildkit
2026-08-25 10:19:21 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Patch tree -hs /workspace/patches pushd $(pip show vllm | grep Location: | cut -d" " -f 2) \ && for f in /workspace/patches/vllm/*.patch; do patch -p1 < "$f" || exit 1; done if pip show vllm_omni > /dev/null 2>&1; then \ pushd $(pip show vllm_omni | grep Location: | cut -d" " -f 2) \ && patch -p1 < /workspace/patches/vllm_omni/*.patch; \ fi # buildkit
2026-08-25 10:19:22 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Dependencies # Install cat <<EOT >/tmp/requirements.txt # audio extras librosa soundfile mistral_common[audio] # tokenizer extras fastokens==0.2.0 EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-25 10:19:22 UTC (buildkit.dockerfile.v0)ENV RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES=1 SAFETENSORS_FAST_GPU=1 RUNAI_STREAMER_MEMORY_LIMIT=0 RUNAI_STREAMER_LOG_TO_STDERR=1 RUNAI_STREAMER_LOG_LEVEL=INFO
2026-08-25 10:19:22 UTC (buildkit.dockerfile.v0)WORKDIR /
2026-08-25 10:19:22 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["tini" "--"]
2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/amd64
2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)RUN |3 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 /bin/bash -eo pipefail -c # Give MooncakeConnector the Prometheus registration MultiConnector requires VLLM_DIR="$(python3 -c 'import os, vllm; print(os.path.dirname(vllm.__file__))')" MOONCAKE_DIR="${VLLM_DIR}/distributed/kv_transfer/kv_connector/v1/mooncake" # Refuse to guess at a layout this patch was not written against. test -f "${MOONCAKE_DIR}/stats.py" test -f "${MOONCAKE_DIR}/mooncake_connector.py" # Idempotent: a re-run over an already patched image must not append twice. if grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py"; then echo "[info] MooncakePromMetrics is already present; nothing to append." exit 0 fi cat >>"${MOONCAKE_DIR}/stats.py" <<'PYEOF' from vllm.config import VllmConfig from vllm.distributed.kv_transfer.kv_connector.v1.metrics import ( KVConnectorPromMetrics, PromMetric, PromMetricT, ) from vllm.v1.metrics.utils import create_metric_per_engine class MooncakePromMetrics(KVConnectorPromMetrics): """Prometheus metrics for Mooncake point-to-point KV transfers. Mirrors NixlPromMetrics: the histograms take one observation per recorded transfer, and the counters take a list of 1s, which is the shape MooncakeKVConnectorStats.reset() already produces. The metric names are prefixed `vllm:mooncake_` rather than `vllm:mooncake_store_`, which MooncakeStorePromMetrics owns: the two connectors can be active in the same engine through a MultiConnector, and one namespace for both would merge a direct engine-to-engine transfer with a round trip to the shared store. """ def __init__( self, vllm_config: VllmConfig, metric_types: dict[type[PromMetric], type[PromMetricT]], labelnames: list[str], per_engine_labelvalues: dict[int, list[object]], ): super().__init__(vllm_config, metric_types, labelnames, per_engine_labelvalues) duration_buckets = [ 0.001, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.2, 0.3, 0.5, 0.75, 1.0, 5.0, ] histogram_xfer_time = self._histogram_cls( name="vllm:mooncake_xfer_time_seconds", documentation="Histogram of transfer duration for Mooncake KV cache transfers.", buckets=duration_buckets, labelnames=labelnames, ) self.histogram_xfer_time = create_metric_per_engine( histogram_xfer_time, self.per_engine_labelvalues ) # Uniform 2KiB to 16GiB range, as NixlPromMetrics uses. byte_buckets = [2 ** (10 + i) for i in range(1, 25, 2)] histogram_bytes_transferred = self._histogram_cls( name="vllm:mooncake_bytes_transferred", documentation="Histogram of bytes transferred per Mooncake KV cache transfer.", buckets=byte_buckets, labelnames=labelnames, ) self.histogram_bytes_transferred = create_metric_per_engine( histogram_bytes_transferred, self.per_engine_labelvalues ) descriptor_buckets = [10, 20, 30, 50, 75, 100, 200, 300, 500, 750, 1000] histogram_num_descriptors = self._histogram_cls( name="vllm:mooncake_num_descriptors", documentation="Histogram of descriptors per Mooncake KV cache transfer.", buckets=descriptor_buckets, labelnames=labelnames, ) self.histogram_num_descriptors = create_metric_per_engine( histogram_num_descriptors, self.per_engine_labelvalues ) counter_num_failed_transfers = self._counter_cls( name="vllm:mooncake_num_failed_transfers", documentation="Number of failed Mooncake KV cache transfers.", labelnames=labelnames, ) self.counter_num_failed_transfers = create_metric_per_engine( counter_num_failed_transfers, self.per_engine_labelvalues ) counter_num_failed_recvs = self._counter_cls( name="vllm:mooncake_num_failed_recvs", documentation="Number of failed Mooncake KV cache receives.", labelnames=labelnames, ) self.counter_num_failed_recvs = create_metric_per_engine( counter_num_failed_recvs, self.per_engine_labelvalues ) counter_num_kv_expired_reqs = self._counter_cls( name="vllm:mooncake_num_kv_expired_reqs", documentation="Number of requests whose Mooncake KV blocks expired.", labelnames=labelnames, ) self.counter_num_kv_expired_reqs = create_metric_per_engine( counter_num_kv_expired_reqs, self.per_engine_labelvalues ) def observe(self, transfer_stats_data: dict[str, Any], engine_idx: int = 0): # A key absent from the payload is skipped rather than raising: the stats # container's key set belongs to the connector and may grow or shrink # between releases, and a metrics path is the wrong place to fail an engine. for prom_obj, key in zip( [ self.histogram_xfer_time, self.histogram_bytes_transferred, self.histogram_num_descriptors, ], ["transfer_duration", "bytes_transferred", "num_descriptors"], ): for list_item in transfer_stats_data.get(key, ()): prom_obj[engine_idx].observe(list_item) for counter_obj, key in zip( [ self.counter_num_failed_transfers, self.counter_num_failed_recvs, self.counter_num_kv_expired_reqs, ], ["num_failed_transfers", "num_failed_recvs", "num_kv_expired_reqs"], ): for list_item in transfer_stats_data.get(key, ()): counter_obj[engine_idx].inc(list_item) PYEOF cat >>"${MOONCAKE_DIR}/mooncake_connector.py" <<'PYEOF' def _build_mooncake_prom_metrics( cls, vllm_config, metric_types, labelnames, per_engine_labelvalues ): # Imported here rather than at module scope: this file already imports from # .stats, and keeping the dependency inside the call leaves the module's # import graph exactly as it was. from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import ( MooncakePromMetrics, ) return MooncakePromMetrics( vllm_config, metric_types, labelnames, per_engine_labelvalues ) # Bound by assignment rather than written into the class body, so that this patch # stays an append and needs no anchor inside a file that differs between releases. MooncakeConnector.build_prom_metrics = classmethod(_build_mooncake_prom_metrics) PYEOF # Assert the patch landed. Both greps are POSITIVE: a negated grep is exempt from # set -e, so the inverted form would pass over a failure. grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py" grep -q "MooncakeConnector.build_prom_metrics = classmethod" "${MOONCAKE_DIR}/mooncake_connector.py" # Import it for real. The greps above prove the text is there; this proves it # parses and that every name it reaches for resolves in this image. python3 -c " from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import MooncakePromMetrics from vllm.distributed.kv_transfer.kv_connector.v1.metrics import KVConnectorPromMetrics assert issubclass(MooncakePromMetrics, KVConnectorPromMetrics) assert MooncakePromMetrics.observe is not KVConnectorPromMetrics.observe print('[info] MooncakePromMetrics imports and overrides observe.') " # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)WORKDIR /
2026-09-16 03:40:49 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["tini" "--"]
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/amd64
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)ARG VLLM_ROUTER_VERSION=0.1.15
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)RUN |4 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 VLLM_ROUTER_VERSION=0.1.15 /bin/bash -eo pipefail -c # vLLM Router uv pip install \ vllm-router==${VLLM_ROUTER_VERSION} # Fail the build rather than ship an image whose router is missing: the # alternative surfaces as a container that exits at deploy time, one # layer away from anything that explains it. command -v vllm-router >/dev/null # Review uv pip tree # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)ARG DEPENDENCY_PACKAGES=diffusers flash-attn flashinfer-python lmcache lmcache-ascend mooncake-transfer-engine-npu mooncake-transfer-engine-rocm mooncake-transfer-engine ray runai-model-streamer sgl-kernel-npu sglang-kernel sglang-router torch torch-musa torch-npu transformers vllm-ascend vllm-metax vllm-musa vllm-omni vllm-router
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)RUN |5 TARGETPLATFORM=linux/amd64 TARGETOS=linux TARGETARCH=amd64 VLLM_ROUTER_VERSION=0.1.15 DEPENDENCY_PACKAGES=diffusers flash-attn flashinfer-python lmcache lmcache-ascend mooncake-transfer-engine-npu mooncake-transfer-engine-rocm mooncake-transfer-engine ray runai-model-streamer sgl-kernel-npu sglang-kernel sglang-router torch torch-musa torch-npu transformers vllm-ascend vllm-metax vllm-musa vllm-omni vllm-router /bin/bash -eo pipefail -c DEPENDENCY_PACKAGES="${DEPENDENCY_PACKAGES}" bash /tmp/probe_dependencies.sh # buildkit
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)WORKDIR /
2026-09-20 03:09:47 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["tini" "--"]
2026-09-20 03:09:45 UTC
10.9 GB
/usr/local/cuda
CUDA_VERSION13.0.1
DEBIAN_FRONTENDnoninteractive
LANGen_US.UTF-8
LANGUAGEen_US:en
LC_ALLen_US.UTF-8
LD_LIBRARY_PATH/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64
NVARCHsbsa
NVIDIA_DRIVER_CAPABILITIEScompute,utility
NVIDIA_REQUIRE_CUDAcuda>=13.0 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551 brand=unknown,driver>=565,driver<566 brand=grid,driver>=565,driver<566 brand=tesla,driver>=565,driver<566 brand=nvidia,driver>=565,driver<566 brand=quadro,driver>=565,driver<566 brand=quadrortx,driver>=565,driver<566 brand=nvidiartx,driver>=565,driver<566 brand=vapps,driver>=565,driver<566 brand=vpc,driver>=565,driver<566 brand=vcs,driver>=565,driver<566 brand=vws,driver>=565,driver<566 brand=cloudgaming,driver>=565,driver<566 brand=unknown,driver>=570,driver<571 brand=grid,driver>=570,driver<571 brand=tesla,driver>=570,driver<571 brand=nvidia,driver>=570,driver<571 brand=quadro,driver>=570,driver<571 brand=quadrortx,driver>=570,driver<571 brand=nvidiartx,driver>=570,driver<571 brand=vapps,driver>=570,driver<571 brand=vpc,driver>=570,driver<571 brand=vcs,driver>=570,driver<571 brand=vws,driver>=570,driver<571 brand=cloudgaming,driver>=570,driver<571 brand=unknown,driver>=575,driver<576 brand=grid,driver>=575,driver<576 brand=tesla,driver>=575,driver<576 brand=nvidia,driver>=575,driver<576 brand=quadro,driver>=575,driver<576 brand=quadrortx,driver>=575,driver<576 brand=nvidiartx,driver>=575,driver<576 brand=vapps,driver>=575,driver<576 brand=vpc,driver>=575,driver<576 brand=vcs,driver>=575,driver<576 brand=vws,driver>=575,driver<576 brand=cloudgaming,driver>=575,driver<576
NVIDIA_VISIBLE_DEVICESall
NV_CUDA_CUDART_VERSION13.0.96-1
PATH/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIP_DISABLE_PIP_VERSION_CHECK1
PIP_NO_CACHE_DIR1
PIP_ROOT_USER_ACTIONignore
PYTHON_VERSION3.12
RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES1
RUNAI_STREAMER_LOG_LEVELINFO
RUNAI_STREAMER_LOG_TO_STDERR1
RUNAI_STREAMER_MEMORY_LIMIT0
SAFETENSORS_FAST_GPU1
TORCH_CUDA_ARCH_LIST8.0 8.7 8.9 9.0 10.0 11.0 12.0
UV_CACHE_DIR/opt/uv/cache
UV_HTTP_TIMEOUT500
UV_INDEX_STRATEGYunsafe-best-match
UV_LINK_MODEcopy
UV_NO_CACHE1
UV_OVERRIDE/etc/uv-overrides.txt
UV_PRERELEASEallow
UV_PYTHON_INSTALL_DIR/opt/uv/python
UV_SKIP_WHEEL_FILENAME_CHECK1
UV_SYSTEM_PYTHON1
VLLM_BUILD_COMMIT6e448d0ea9bf3d88d898b65449ca6dc2aec170ac
VLLM_BUILD_PIPELINE019d130e-464e-4ff7-b84b-492992c0c06b
VLLM_BUILD_URLhttps://buildkite.com/vllm/release-v2/builds/5006
VLLM_ENABLE_CUDA_COMPATIBILITY0
VLLM_IMAGE_TAGvllm/vllm-openai:v0.27.1-ubuntu2404
VLLM_LMCACHE_VERSION0.5.4
VLLM_TORCH_CUDA_VERSION13.0.1
VLLM_TORCH_VERSION2.13.0
VLLM_USAGE_SOURCEproduction-docker-image
VLLM_VERSION0.27.1
[#000] sha256:a91ffad96809552eb41208a0a580e75c014311ef2cb79002fb242da7bc6f8801 - 0.26% (28.6 MB)
[#001] sha256:7be1e3dd81adb79f8fbffa3a472a80e4a024b7dedb4028788e15e05c4a7a3946 - 0.04% (4.32 MB)
[#002] sha256:653ca2e1b0e9f4dda5c4101ba798059d34362dfdd0379f1fb2b80f1e48a703df - 0.85% (95.1 MB)
[#003] sha256:66c8341e87a6fcc90cd8b78f232a7707a96e4fbeaff457268bc6d4fdd8bf509a - 0.0% (186 Bytes)
[#004] sha256:526d5438c009ab7178af1646fed10ff6f47a73f5a1ae7b9f49e63e4ade7e3ae6 - 0.0% (6.72 KB)
[#005] sha256:21180691041e8e61861ca43ba2a4d676a9b4ba460fc144466acaa5c15b94468b - 0.0% (104 Bytes)
[#006] sha256:22b23649e782ff9e7ae232ca12f15190b103c7abf8c0b1486de570869cced813 - 0.0% (231 Bytes)
[#007] sha256:121d4232a3e60b8cea66cf3cf0e06f5c1f184f1a9e202f9febb930bb59defbbc - 1.94% (216 MB)
[#008] sha256:b7a1fe577651e13121b49959629ced649aaf61e46eac42229112fff8322a1469 - 13.36% (1.45 GB)
[#009] sha256:d7df7a1efe6cabfb98fce63ec00226f757685011e72b36f2eb38d50437694251 - 0.37% (41.3 MB)
[#010] sha256:3a4c22f185158cf4e7f4dad7edc6227c050860c13f0ab5d1cf8a3407616b884e - 0.0% (151 Bytes)
[#011] sha256:55ec714687d6d511b06e9dd50697eee6b768d74f9b32eca5ef64ea6056f7bccf - 0.0% (164 Bytes)
[#012] sha256:90f38200475bd7c7243b08048841fa1e3f94cb706e483dc9f07078d5c12ba7e8 - 0.0% (3.62 KB)
[#013] sha256:15ed19a825230fbc8309a1ab05afc508f999c4373dd659f1c963710c9268ed98 - 0.0% (2.03 KB)
[#014] sha256:15ed19a825230fbc8309a1ab05afc508f999c4373dd659f1c963710c9268ed98 - 0.0% (2.03 KB)
[#015] sha256:d18e1d27046a7aa368bc2a6c4182239254f07bacd6bcc45bdfdc39eaa7242cb3 - 0.0% (1.62 KB)
[#016] sha256:58a7352b91d31caa46eb966f41fe12f0dc1417bd02df6855131bd66bcc48b50f - 0.0% (871 Bytes)
[#017] sha256:fcf447d7aed5a1da077fd1f91d4efca00d61e33fa3ea917603b074ac33a5e2ba - 40.42% (4.4 GB)
[#018] sha256:081a74cebd48e66492f40f8a93ab4db1f27ac307f997d3a5cf3ce51bd276e0b3 - 14.47% (1.57 GB)
[#019] sha256:5c7799a8b9ce91c521d89bf49d38922ac99e8b988df84d19b2840cbb6c7da2a3 - 0.0% (897 Bytes)
[#020] sha256:3e75fb9a89731ac42b01c99c3303d7ede784f7112a17ca55f2502745eb546087 - 0.0% (518 KB)
[#021] sha256:8160b2f576f79b3050a128749f34f15edcff1e607406c198c072d274dec312f6 - 2.63% (294 MB)
[#022] sha256:ffee07690de9b7eb61e6ca1d05a529af7d9676ad727d0368f73b9ec0bd4ed6a0 - 0.0% (202 Bytes)
[#023] sha256:7ced343a1f0a561ec5c97025668ca5edb4de7bedfd30b53874ea7591fb39d5f0 - 0.0% (228 Bytes)
[#024] sha256:c73fad1723c52ba1d30d71eefe06af45c83a2af6cfdb6169720b12a15be55d06 - 4.48% (499 MB)
[#025] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#026] sha256:ec2f233062e2dfb147b1998b11ae77a54705e50162e114be3d1e038c1c26b41a - 0.0% (253 Bytes)
[#027] sha256:6e44597ec02a77006ea7a5240972ff3793ea5bd71d01110781b5c0de949ce355 - 0.13% (14.1 MB)
[#028] sha256:6fb0d1302af16225a3dce11d1cf9df02b403364794a2e193d8c7082e83a89c56 - 0.0% (262 KB)
[#029] sha256:787590867c7aecd4a5adf3f5c100fd642085cd6090868ec6eb6c4327a618faf1 - 0.0% (272 KB)
[#030] sha256:17576b303566a416a92d5fedbc10d20270461aed6663ed72368ba2ddb2056a30 - 0.0% (9.62 KB)
[#031] sha256:99f666e038c358b5df8c34a8249bc39156bf644ea72357538e15e12179654e73 - 7.51% (837 MB)
[#032] sha256:d0259e3c357c41ecdbeab8b47732d35239754fb49d1fbdd0ba3ea13beba24e7d - 3.81% (425 MB)
[#033] sha256:c1ce83d2502c17910789de56a276966110806d6437f5ad0247cc10ac8a525856 - 0.83% (93 MB)
[#034] sha256:7f2bcbd874d98fb662642b1612d2dcc7ba3f504f5fd753f8aacccfd044e49879 - 0.0% (1.9 KB)
[#035] sha256:99bdf0f7a8b943b5c86e34f36802db6c028d33db7e1dacb90dfb38ceb0fb439a - 0.28% (30.7 MB)
[#036] sha256:de815fdb6a45f1663366e5deb745d967c5ce3b26e0b00ba9e55ded2eb07412e5 - 1.93% (215 MB)
[#037] sha256:04cf79ffe4b7a11774428a2ae8d61729fdeae9281d5a78bd1ce00a39cb45536e - 3.58% (400 MB)
[#038] sha256:0ca7cb9ac7166989549f1acfe4c994ad4bec69e9c7f5ed28450db1c43401b4d7 - 2.04% (227 MB)
[#039] sha256:9cfabe07b21b56d8b6b7ac3b8ac0ceaf76afb47bb9cd2efb314ddfd42cfc7ad5 - 0.62% (69.1 MB)
[#040] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#041] sha256:b7d0e5a43f185e33bb9e9c2e40ae28d91eb24b635982aedb2734e500d4f49158 - 0.0% (36.3 KB)
[#042] sha256:d7ac19f73086ddfd6954ffb398178d850089631c3e0fca619c023350d55c553d - 0.11% (12.2 MB)
[#043] sha256:d5f115361a997d1d806dee7688d9bb71c01d6187a28fbb87d814fb404fa9ecae - 0.27% (29.5 MB)
[#044] sha256:5c2e0da30d9c01e4dc57ad2ac3ddc69a95cccb54e17da170951e448f1ce7945e - 0.07% (8.1 MB)
[#045] sha256:399e570da5d1dd7f03e00ed98bbe39dd680e893d4db456f2558caf39812014e2 - 0.0% (349 Bytes)
/bin/sh -c #(nop) ARG RELEASE
2025-10-01 13:01:38 UTC/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
2025-10-01 13:01:38 UTC/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
2025-10-01 13:01:38 UTC/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04
2025-10-01 13:01:40 UTC/bin/sh -c #(nop) ADD file:d77dea5c49828eb0de89439d2b631bc8ea27cb9ef774412b56a060ba1673487b in /
2025-10-01 13:01:40 UTC/bin/sh -c #(nop) CMD ["/bin/bash"]
2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)ENV NVARCH=sbsa
2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)ENV NVIDIA_REQUIRE_CUDA=cuda>=13.0 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551 brand=unknown,driver>=565,driver<566 brand=grid,driver>=565,driver<566 brand=tesla,driver>=565,driver<566 brand=nvidia,driver>=565,driver<566 brand=quadro,driver>=565,driver<566 brand=quadrortx,driver>=565,driver<566 brand=nvidiartx,driver>=565,driver<566 brand=vapps,driver>=565,driver<566 brand=vpc,driver>=565,driver<566 brand=vcs,driver>=565,driver<566 brand=vws,driver>=565,driver<566 brand=cloudgaming,driver>=565,driver<566 brand=unknown,driver>=570,driver<571 brand=grid,driver>=570,driver<571 brand=tesla,driver>=570,driver<571 brand=nvidia,driver>=570,driver<571 brand=quadro,driver>=570,driver<571 brand=quadrortx,driver>=570,driver<571 brand=nvidiartx,driver>=570,driver<571 brand=vapps,driver>=570,driver<571 brand=vpc,driver>=570,driver<571 brand=vcs,driver>=570,driver<571 brand=vws,driver>=570,driver<571 brand=cloudgaming,driver>=570,driver<571 brand=unknown,driver>=575,driver<576 brand=grid,driver>=575,driver<576 brand=tesla,driver>=575,driver<576 brand=nvidia,driver>=575,driver<576 brand=quadro,driver>=575,driver<576 brand=quadrortx,driver>=575,driver<576 brand=nvidiartx,driver>=575,driver<576 brand=vapps,driver>=575,driver<576 brand=vpc,driver>=575,driver<576 brand=vcs,driver>=575,driver<576 brand=vws,driver>=575,driver<576 brand=cloudgaming,driver>=575,driver<576
2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)ENV NV_CUDA_CUDART_VERSION=13.0.96-1
2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)ARG TARGETARCH
2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com>
2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)RUN |1 TARGETARCH=arm64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH}/3bf863cc.pub | apt-key add - && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH} /" > /etc/apt/sources.list.d/cuda.list && apt-get purge --autoremove -y curl && rm -rf /var/lib/apt/lists/* # buildkit
2025-10-10 16:55:43 UTC (buildkit.dockerfile.v0)ENV CUDA_VERSION=13.0.2
2025-10-10 16:59:52 UTC (buildkit.dockerfile.v0)RUN |1 TARGETARCH=arm64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-cudart-13-0=${NV_CUDA_CUDART_VERSION} cuda-compat-13-0 && rm -rf /var/lib/apt/lists/* # buildkit
2025-10-10 16:59:52 UTC (buildkit.dockerfile.v0)RUN |1 TARGETARCH=arm64 /bin/sh -c echo "/usr/local/cuda/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit
2025-10-10 16:59:52 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-10-10 16:59:52 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64
2025-10-10 16:59:53 UTC (buildkit.dockerfile.v0)COPY NGC-DL-CONTAINER-LICENSE / # buildkit
2025-10-10 16:59:53 UTC (buildkit.dockerfile.v0)ENV NVIDIA_VISIBLE_DEVICES=all
2025-10-10 16:59:53 UTC (buildkit.dockerfile.v0)ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)ARG CUDA_VERSION
2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)ARG PYTHON_VERSION
2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)ARG NCCL_VERSION
2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)ARG DEADSNAKES_MIRROR_URL
2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)ARG DEADSNAKES_GPGKEY_URL
2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)ARG GET_PIP_URL
2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)ENV DEBIAN_FRONTEND=noninteractive
2026-08-11 09:03:27 UTC (buildkit.dockerfile.v0)WORKDIR /vllm-workspace
2026-08-11 09:03:28 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c PYTHON_VERSION_STR=$(echo ${PYTHON_VERSION} | sed 's/\.//g') && echo "export PYTHON_VERSION_STR=${PYTHON_VERSION_STR}" >> /etc/environment # buildkit
2026-08-11 09:04:33 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c apt-get update -y && apt-get install -y --no-install-recommends software-properties-common curl sudo ffmpeg libsm6 libxext6 libgl1 && if [ ! -z ${DEADSNAKES_MIRROR_URL} ] ; then if [ ! -z "${DEADSNAKES_GPGKEY_URL}" ] ; then mkdir -p -m 0755 /etc/apt/keyrings ; curl -L ${DEADSNAKES_GPGKEY_URL} | gpg --dearmor > /etc/apt/keyrings/deadsnakes.gpg ; sudo chmod 644 /etc/apt/keyrings/deadsnakes.gpg ; echo "deb [signed-by=/etc/apt/keyrings/deadsnakes.gpg] ${DEADSNAKES_MIRROR_URL} $(lsb_release -cs) main" > /etc/apt/sources.list.d/deadsnakes.list ; fi ; else for i in 1 2 3; do add-apt-repository -y ppa:deadsnakes/ppa && break || { echo "Attempt $i failed, retrying in 5s..."; sleep 5; }; done ; fi && apt-get update -y && apt-get install -y --no-install-recommends python${PYTHON_VERSION} python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv libibverbs-dev && rm -rf /var/lib/apt/lists/* && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 && update-alternatives --set python3 /usr/bin/python${PYTHON_VERSION} && ln -sf /usr/bin/python${PYTHON_VERSION}-config /usr/bin/python3-config && rm -f /usr/lib/python${PYTHON_VERSION}/EXTERNALLY-MANAGED && curl -sS ${GET_PIP_URL} | python${PYTHON_VERSION} && python3 --version && python3 -m pip --version # buildkit
2026-08-11 09:05:15 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c CUDA_VERSION_DASH=$(echo $CUDA_VERSION | cut -d. -f1,2 | tr '.' '-') && apt-get update -y && apt-get install -y --no-install-recommends --allow-change-held-packages cuda-nvcc-${CUDA_VERSION_DASH} cuda-cudart-${CUDA_VERSION_DASH} cuda-nvrtc-${CUDA_VERSION_DASH} cuda-cuobjdump-${CUDA_VERSION_DASH} libcurand-dev-${CUDA_VERSION_DASH} libcublas-dev-${CUDA_VERSION_DASH} libnuma-dev numactl && rm -rf /var/lib/apt/lists/* # buildkit
2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c python3 -m pip install uv # buildkit
2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)ENV UV_HTTP_TIMEOUT=500
2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)ENV UV_INDEX_STRATEGY=unsafe-best-match
2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)ENV UV_LINK_MODE=copy
2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)ENV UV_PYTHON_INSTALL_DIR=/opt/uv/python
2026-08-11 09:05:19 UTC (buildkit.dockerfile.v0)ENV UV_CACHE_DIR=/opt/uv/cache
2026-08-11 09:05:20 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c mkdir -p "${UV_PYTHON_INSTALL_DIR}" "${UV_CACHE_DIR}" && chgrp -R 0 /opt/uv && chmod -R g+rwX,a+rX /opt/uv # buildkit
2026-08-11 09:05:21 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c CUDA_MAJOR=$(echo $CUDA_VERSION | cut -d. -f1) && if [ -n "$NCCL_VERSION" ]; then echo "nvidia-nccl-cu${CUDA_MAJOR}==${NCCL_VERSION}" > /etc/uv-overrides.txt; else touch /etc/uv-overrides.txt; fi # buildkit
2026-08-11 09:05:21 UTC (buildkit.dockerfile.v0)ENV UV_OVERRIDE=/etc/uv-overrides.txt
2026-08-11 09:05:28 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c useradd --uid 2000 --gid 0 --create-home --home-dir /home/vllm --shell /bin/bash vllm && mkdir -p /home/vllm/.cache /home/vllm/.config && chown -R 2000:0 /home/vllm && chmod -R g+rwX /home/vllm && chgrp 0 /etc/passwd /etc/group && chmod g=u /etc/passwd /etc/group # buildkit
2026-08-11 09:05:32 UTC (buildkit.dockerfile.v0)COPY docker/entrypoints/vllm-nonroot-entrypoint.sh /usr/local/bin/vllm-nonroot-entrypoint.sh # buildkit
2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)RUN |6 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py /bin/sh -c chmod 0755 /usr/local/bin/vllm-nonroot-entrypoint.sh # buildkit
2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)ENV VLLM_ENABLE_CUDA_COMPATIBILITY=0
2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)ARG PYTORCH_CUDA_INDEX_BASE_URL
2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)COPY requirements/common.txt /tmp/common.txt # buildkit
2026-08-11 09:05:33 UTC (buildkit.dockerfile.v0)COPY requirements/cuda.txt /tmp/requirements-cuda.txt # buildkit
2026-08-11 09:05:52 UTC (buildkit.dockerfile.v0)RUN |7 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl /bin/sh -c if [ "$(echo $CUDA_VERSION | cut -d. -f1)" = "12" ]; then sed -i 's/^nvidia-cutlass-dsl\[cu13\]/nvidia-cutlass-dsl/' /tmp/requirements-cuda.txt; sed -i 's/^humming-kernels\[cu13\]/humming-kernels[cu12]/' /tmp/requirements-cuda.txt; fi && uv pip install --system -r /tmp/requirements-cuda.txt --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') && rm /tmp/requirements-cuda.txt /tmp/common.txt # buildkit
2026-08-11 09:05:52 UTC (buildkit.dockerfile.v0)ARG FLASHINFER_VERSION=0.6.16.post3
2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)RUN |8 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 /bin/sh -c uv pip install --system flashinfer-jit-cache==${FLASHINFER_VERSION} --index-url https://flashinfer.ai/whl/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') # buildkit
2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)ARG GDRCOPY_CUDA_VERSION=12.8
2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)ARG GDRCOPY_OS_VERSION=Ubuntu22_04
2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM
2026-08-11 09:06:10 UTC (buildkit.dockerfile.v0)COPY tools/install_gdrcopy.sh /tmp/install_gdrcopy.sh # buildkit
2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)RUN |11 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 /bin/sh -c set -eux; case "${TARGETPLATFORM}" in linux/arm64) UUARCH="aarch64" ;; linux/amd64) UUARCH="x64" ;; *) echo "Unsupported TARGETPLATFORM: ${TARGETPLATFORM}" >&2; exit 1 ;; esac; /tmp/install_gdrcopy.sh "${GDRCOPY_OS_VERSION}" "${GDRCOPY_CUDA_VERSION}" "${UUARCH}" && rm /tmp/install_gdrcopy.sh # buildkit
2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)ARG BITSANDBYTES_VERSION_X86=0.46.1
2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)ARG BITSANDBYTES_VERSION_ARM64=0.42.0
2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)ARG TIMM_VERSION=>=1.0.17
2026-08-11 09:06:16 UTC (buildkit.dockerfile.v0)ARG RUNAI_MODEL_STREAMER_VERSION=>=0.15.7
2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)RUN |15 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 /bin/sh -c if [ "$TARGETPLATFORM" = "linux/arm64" ]; then BITSANDBYTES_VERSION="${BITSANDBYTES_VERSION_ARM64}"; else BITSANDBYTES_VERSION="${BITSANDBYTES_VERSION_X86}"; fi; uv pip install --system accelerate 'modelscope<1.38' "bitsandbytes>=${BITSANDBYTES_VERSION}" "timm${TIMM_VERSION}" "runai-model-streamer[s3,gcs,azure]${RUNAI_MODEL_STREAMER_VERSION}" # buildkit
2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)ARG PIP_INDEX_URL UV_INDEX_URL
2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)ARG PIP_EXTRA_INDEX_URL UV_EXTRA_INDEX_URL
2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)ARG PYTORCH_CUDA_INDEX_BASE_URL
2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)ARG PIP_KEYRING_PROVIDER UV_KEYRING_PROVIDER
2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)ARG PYTORCH_NIGHTLY
2026-08-11 09:06:19 UTC (buildkit.dockerfile.v0)COPY /workspace/torch_lib_versions.txt torch_lib_versions.txt # buildkit
2026-08-11 09:20:08 UTC (buildkit.dockerfile.v0)COPY /workspace/dist/wheel.sha256 /tmp/vllm-wheel.sha256 # buildkit
2026-08-11 09:20:12 UTC (buildkit.dockerfile.v0)RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c if [ "${PYTORCH_NIGHTLY}" = "1" ]; then echo "Installing torch nightly..." && uv pip install --system $(cat torch_lib_versions.txt | xargs) --pre --index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') && echo "Installing vLLM..." && uv pip install --system dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/nightly/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); else echo "Installing vLLM..." && uv pip install --system dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.'); fi # buildkit
2026-08-11 09:20:12 UTC (buildkit.dockerfile.v0)RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c . /etc/environment && uv pip list # buildkit
2026-08-11 09:20:12 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64
2026-08-11 09:20:12 UTC (buildkit.dockerfile.v0)COPY /tmp/ep_kernels_workspace/dist/wheels.sha256 /tmp/ep-kernels-wheels.sha256 # buildkit
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)RUN |23 CUDA_VERSION=13.0.2 PYTHON_VERSION=3.12 NCCL_VERSION=2.30.7 DEADSNAKES_MIRROR_URL= DEADSNAKES_GPGKEY_URL= GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl FLASHINFER_VERSION=0.6.16.post3 GDRCOPY_CUDA_VERSION=12.8 GDRCOPY_OS_VERSION=Ubuntu24_04 TARGETPLATFORM=linux/arm64 BITSANDBYTES_VERSION_X86=0.46.1 BITSANDBYTES_VERSION_ARM64=0.42.0 TIMM_VERSION=>=1.0.17 RUNAI_MODEL_STREAMER_VERSION=>=0.15.7 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= PYTORCH_CUDA_INDEX_BASE_URL=https://download.pytorch.org/whl PIP_KEYRING_PROVIDER=disabled UV_KEYRING_PROVIDER=disabled PYTORCH_NIGHTLY= /bin/sh -c uv pip install --system ep_kernels/dist/*.whl --verbose --extra-index-url ${PYTORCH_CUDA_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') # buildkit
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)COPY examples examples # buildkit
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)COPY benchmarks benchmarks # buildkit
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)COPY ./vllm/collect_env.py . # buildkit
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG INSTALL_KV_CONNECTORS=false
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG CUDA_VERSION
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG VLLM_BUILD_COMMIT
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG VLLM_BUILD_PIPELINE
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG VLLM_BUILD_URL
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG VLLM_IMAGE_TAG
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG PIP_INDEX_URL UV_INDEX_URL
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG PIP_EXTRA_INDEX_URL UV_EXTRA_INDEX_URL
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ENV UV_HTTP_TIMEOUT=500
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ARG torch_cuda_arch_list=7.5 8.0 8.6 8.9 9.0 10.0 11.0 12.0
2026-08-11 09:20:13 UTC (buildkit.dockerfile.v0)ENV TORCH_CUDA_ARCH_LIST=8.0 8.7 8.9 9.0 10.0 11.0 12.0
2026-08-11 09:23:54 UTC (buildkit.dockerfile.v0)RUN |12 TARGETPLATFORM=linux/arm64 INSTALL_KV_CONNECTORS=true CUDA_VERSION=13.0.2 VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= torch_cuda_arch_list=8.0 8.7 8.9 9.0 10.0 11.0 12.0 /bin/sh -c CUDA_MAJOR="${CUDA_VERSION%%.*}"; CUDA_VERSION_DASH=$(echo $CUDA_VERSION | cut -d. -f1,2 | tr '.' '-'); CUDA_HOME=/usr/local/cuda; BUILD_PKGS="libcusparse-dev-${CUDA_VERSION_DASH} libcublas-dev-${CUDA_VERSION_DASH} libcusolver-dev-${CUDA_VERSION_DASH}"; if [ "$INSTALL_KV_CONNECTORS" = "true" ]; then uv pip install --system -r /tmp/kv_connectors.txt --no-build || ( apt-get update -y && apt-get install -y --no-install-recommends --allow-change-held-packages ${BUILD_PKGS} && uv pip install --system -r /tmp/kv_connectors.txt --no-build-isolation && apt-get purge -y ${BUILD_PKGS} && rm -rf /var/lib/apt/lists/* ); uv pip install --system --force-reinstall --no-deps nixl-cu${CUDA_MAJOR}; fi # buildkit
2026-08-11 09:23:54 UTC (buildkit.dockerfile.v0)ARG MOONCAKE_WHEEL_AARCH64
2026-08-11 09:23:54 UTC (buildkit.dockerfile.v0)ARG MOONCAKE_WHEEL_X86_64
2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)RUN |14 TARGETPLATFORM=linux/arm64 INSTALL_KV_CONNECTORS=true CUDA_VERSION=13.0.2 VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404 PIP_INDEX_URL= UV_INDEX_URL= PIP_EXTRA_INDEX_URL= UV_EXTRA_INDEX_URL= torch_cuda_arch_list=8.0 8.7 8.9 9.0 10.0 11.0 12.0 MOONCAKE_WHEEL_AARCH64=https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_39_aarch64.whl MOONCAKE_WHEEL_X86_64=https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_35_x86_64.whl /bin/sh -c if [ "$INSTALL_KV_CONNECTORS" = "true" ]; then if [ "$TARGETPLATFORM" = "linux/arm64" ]; then WHEEL="${MOONCAKE_WHEEL_AARCH64}"; else WHEEL="${MOONCAKE_WHEEL_X86_64}"; fi && if [ -n "${WHEEL}" ]; then uv pip install --system "${WHEEL}" && CUDA_MAJOR="${CUDA_VERSION%%.*}" && if [ ! -f /usr/local/cuda/lib64/libcudart.so ] && [ -f "/usr/local/cuda/lib64/libcudart.so.${CUDA_MAJOR}" ]; then ln -s "libcudart.so.${CUDA_MAJOR}" /usr/local/cuda/lib64/libcudart.so; fi; fi; fi # buildkit
2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)ENV VLLM_USAGE_SOURCE=production-docker-image
2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)ENV VLLM_BUILD_COMMIT=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac VLLM_BUILD_PIPELINE=019d130e-464e-4ff7-b84b-492992c0c06b VLLM_BUILD_URL=https://buildkite.com/vllm/release-v2/builds/5006 VLLM_IMAGE_TAG=vllm/vllm-openai:v0.27.1-ubuntu2404
2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/vllm-project/vllm org.opencontainers.image.revision=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac org.opencontainers.image.version=vllm/vllm-openai:v0.27.1-ubuntu2404 org.opencontainers.image.url=https://buildkite.com/vllm/release-v2/builds/5006 ai.vllm.build.commit=6e448d0ea9bf3d88d898b65449ca6dc2aec170ac ai.vllm.build.pipeline=019d130e-464e-4ff7-b84b-492992c0c06b ai.vllm.build.url=https://buildkite.com/vllm/release-v2/builds/5006 ai.vllm.image.tag=vllm/vllm-openai:v0.27.1-ubuntu2404
2026-08-11 09:24:03 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["vllm" "serve"]
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/arm64
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=arm64
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)ENV DEBIAN_FRONTEND=noninteractive LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)RUN |3 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 /bin/bash -eo pipefail -c # Tools # Refresh apt-get update -y && apt-get install -y --no-install-recommends \ software-properties-common apt-transport-https \ ca-certificates gnupg2 lsb-release gnupg-agent \ && apt-get update -y # Install apt-get install -y --no-install-recommends \ ca-certificates build-essential binutils bash openssl \ curl wget aria2 \ git git-lfs \ unzip xz-utils \ tzdata locales \ iproute2 iputils-ping ifstat net-tools dnsutils pciutils ipmitool \ rdma-core rdmacm-utils infiniband-diags \ procps sysstat htop \ tini vim jq bc tree # Update locale localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 # Update timezone rm -f /etc/localtime \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone \ && dpkg-reconfigure --frontend noninteractive tzdata # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* \ && rm -rf /var/cache/apt # buildkit
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)ARG PYTHON_VERSION=3.12
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.12
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)RUN |4 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Python # Update alternatives if ! command -v python >/dev/null 2>&1 \ && command -v python${PYTHON_VERSION} >/dev/null 2>&1; then update-alternatives --install /usr/bin/python python $(which python${PYTHON_VERSION}) 1 fi # buildkit
2026-08-14 07:58:38 UTC (buildkit.dockerfile.v0)ENV PIP_NO_CACHE_DIR=1 PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)RUN |4 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 /bin/bash -eo pipefail -c # Buildkit cat <<EOT >/tmp/requirements.txt build cmake<4 wheel pybind11<3 Cython EOT pip install -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ARG CUDA_VERSION=13.0.1
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ARG CUDA_ARCHS
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ENV CUDA_HOME=/usr/local/cuda CUDA_VERSION=13.0.1 CUDA_ARCHS=
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ENV UV_SYSTEM_PYTHON=1 UV_PRERELEASE=allow UV_SKIP_WHEEL_FILENAME_CHECK=1 UV_NO_CACHE=1 UV_HTTP_TIMEOUT=500 UV_INDEX_STRATEGY=unsafe-best-match
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ARG VLLM_VERSION=0.27.1
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ARG VLLM_TORCH_VERSION=2.13.0
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ARG VLLM_TORCH_CUDA_VERSION=13.0.1
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ENV VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/arm64
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-08-14 07:58:41 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=arm64
2026-08-14 07:58:46 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 /bin/bash -eo pipefail -c # Ray # Install Ray Client and Default. # Pinned to 2.54.0: ray 2.55 (ray-project/ray#61029) breaks distributed # ray.init when the driver has no co-located raylet (gpustack split containers). RAY_VERSION=2.54.0 cat <<EOT >/tmp/requirements.txt ray[cgraph]==${RAY_VERSION} ray[client]==${RAY_VERSION} ray[default]==${RAY_VERSION} EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-14 07:59:16 UTC (buildkit.dockerfile.v0)RUN |9 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 /bin/bash -eo pipefail -c # Omni if [[ ! -d /omni/workspace ]]; then echo "Skipping vLLM Omni installation for ${TARGETARCH}..." exit 0 fi # Install uv pip install --no-build-isolation \ /omni/workspace/*.whl # Dependencies cat <<EOT >/tmp/requirements.txt onnxruntime sox EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-14 07:59:16 UTC (buildkit.dockerfile.v0)ARG VLLM_LMCACHE_VERSION=0.5.4
2026-08-14 07:59:16 UTC (buildkit.dockerfile.v0)ENV VLLM_LMCACHE_VERSION=0.5.4
2026-08-25 10:18:15 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # LMCache # Install ## Replaces the base's own lmcache —— see the note on VLLM_LMCACHE_VERSION. Must run before ## the CuPy dedup below, since lmcache declares a CUDA-major-specific cupy variant. uv pip install --no-build-isolation \ /lmcache/workspace/*.whl # Review uv pip show lmcache ## Fail here on a torch ABI mismatch: lmcache itself only WARNs and falls back to its slow ## torch baseline. RTLD_NOW resolves all symbols without module init, so this needs no GPU. cat <<EOT >/tmp/check_lmcache.py import ctypes, glob, os, sysconfig, torch platlib = sysconfig.get_paths()["platlib"] sos = glob.glob(platlib + "/lmcache/*.so") assert sos, "no lmcache extension found under " + platlib for so in sos: ctypes.CDLL(so, mode=os.RTLD_NOW) print("lmcache resolved against torch " + torch.__version__ + ": " + ", ".join(sos)) EOT python /tmp/check_lmcache.py # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-25 10:18:20 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # CuPy # ray[cgraph] pulls cupy-cuda12x while the base already ships cupy-cuda13x; both share # the same cupy/ tree, so uninstalling one breaks the other. Purge both, then reinstall # the CUDA-matching variant at the version vLLM pinned in the base (its cupy-cuda13x), # so cu129 also gets that pinned version instead of ray's unconstrained cupy-cuda12x. # Our own lmcache is a third source but agrees with this reinstall: its build stage sets # LMCACHE_CUDA_MAJOR from the same CUDA major used here. IFS="." read -r CUDA_MAJOR CUDA_MINOR CUDA_PATCH <<< "${CUDA_VERSION}" PLATLIB="$(python -c 'import sysconfig; print(sysconfig.get_paths()["platlib"])')" CUPY="cupy-cuda${CUDA_MAJOR}x" CUPY_VER="$(uv pip show cupy-cuda13x 2>/dev/null | awk '/^Version:/{print $2}' || true)" uv pip uninstall cupy-cuda12x cupy-cuda13x || true rm -rf "${PLATLIB}"/cupy "${PLATLIB}"/cupyx "${PLATLIB}"/cupy_backends # cupy-cuda12x and cupy-cuda13x share the same version number, so reuse the base's # pinned version and install only the variant matching the CUDA major we build for. # Fail loudly if the base no longer ships cupy, rather than installing an unpinned latest. if [[ -z "${CUPY_VER}" ]]; then echo "cupy-cuda13x not found in base image; refusing to install unpinned cupy" >&2 exit 1 fi uv pip install "${CUPY}==${CUPY_VER}" # Review uv pip show "${CUPY}" # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-25 10:18:20 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Postprocess # Review uv pip tree \ --package vllm \ --package vllm-omni \ --package flashinfer-python \ --package torch \ --package triton \ --package deep-gemm \ --package deep-ep \ --package lmcache \ --package mooncake-transfer-engine \ --package ray # buildkit
2026-08-25 10:18:21 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Patch tree -hs /workspace/patches pushd $(pip show vllm | grep Location: | cut -d" " -f 2) \ && for f in /workspace/patches/vllm/*.patch; do patch -p1 < "$f" || exit 1; done if pip show vllm_omni > /dev/null 2>&1; then \ pushd $(pip show vllm_omni | grep Location: | cut -d" " -f 2) \ && patch -p1 < /workspace/patches/vllm_omni/*.patch; \ fi # buildkit
2026-08-25 10:18:23 UTC (buildkit.dockerfile.v0)RUN |10 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 PYTHON_VERSION=3.12 CUDA_VERSION=13.0.1 CUDA_ARCHS= VLLM_VERSION=0.27.1 VLLM_TORCH_VERSION=2.13.0 VLLM_TORCH_CUDA_VERSION=13.0.1 VLLM_LMCACHE_VERSION=0.5.4 /bin/bash -eo pipefail -c # Dependencies # Install cat <<EOT >/tmp/requirements.txt # audio extras librosa soundfile mistral_common[audio] # tokenizer extras fastokens==0.2.0 EOT uv pip install \ -r /tmp/requirements.txt # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-08-25 10:18:23 UTC (buildkit.dockerfile.v0)ENV RAY_EXPERIMENTAL_NOSET_CUDA_VISIBLE_DEVICES=1 SAFETENSORS_FAST_GPU=1 RUNAI_STREAMER_MEMORY_LIMIT=0 RUNAI_STREAMER_LOG_TO_STDERR=1 RUNAI_STREAMER_LOG_LEVEL=INFO
2026-08-25 10:18:23 UTC (buildkit.dockerfile.v0)WORKDIR /
2026-08-25 10:18:23 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["tini" "--"]
2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/arm64
2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=arm64
2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)RUN |3 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 /bin/bash -eo pipefail -c # Give MooncakeConnector the Prometheus registration MultiConnector requires VLLM_DIR="$(python3 -c 'import os, vllm; print(os.path.dirname(vllm.__file__))')" MOONCAKE_DIR="${VLLM_DIR}/distributed/kv_transfer/kv_connector/v1/mooncake" # Refuse to guess at a layout this patch was not written against. test -f "${MOONCAKE_DIR}/stats.py" test -f "${MOONCAKE_DIR}/mooncake_connector.py" # Idempotent: a re-run over an already patched image must not append twice. if grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py"; then echo "[info] MooncakePromMetrics is already present; nothing to append." exit 0 fi cat >>"${MOONCAKE_DIR}/stats.py" <<'PYEOF' from vllm.config import VllmConfig from vllm.distributed.kv_transfer.kv_connector.v1.metrics import ( KVConnectorPromMetrics, PromMetric, PromMetricT, ) from vllm.v1.metrics.utils import create_metric_per_engine class MooncakePromMetrics(KVConnectorPromMetrics): """Prometheus metrics for Mooncake point-to-point KV transfers. Mirrors NixlPromMetrics: the histograms take one observation per recorded transfer, and the counters take a list of 1s, which is the shape MooncakeKVConnectorStats.reset() already produces. The metric names are prefixed `vllm:mooncake_` rather than `vllm:mooncake_store_`, which MooncakeStorePromMetrics owns: the two connectors can be active in the same engine through a MultiConnector, and one namespace for both would merge a direct engine-to-engine transfer with a round trip to the shared store. """ def __init__( self, vllm_config: VllmConfig, metric_types: dict[type[PromMetric], type[PromMetricT]], labelnames: list[str], per_engine_labelvalues: dict[int, list[object]], ): super().__init__(vllm_config, metric_types, labelnames, per_engine_labelvalues) duration_buckets = [ 0.001, 0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.2, 0.3, 0.5, 0.75, 1.0, 5.0, ] histogram_xfer_time = self._histogram_cls( name="vllm:mooncake_xfer_time_seconds", documentation="Histogram of transfer duration for Mooncake KV cache transfers.", buckets=duration_buckets, labelnames=labelnames, ) self.histogram_xfer_time = create_metric_per_engine( histogram_xfer_time, self.per_engine_labelvalues ) # Uniform 2KiB to 16GiB range, as NixlPromMetrics uses. byte_buckets = [2 ** (10 + i) for i in range(1, 25, 2)] histogram_bytes_transferred = self._histogram_cls( name="vllm:mooncake_bytes_transferred", documentation="Histogram of bytes transferred per Mooncake KV cache transfer.", buckets=byte_buckets, labelnames=labelnames, ) self.histogram_bytes_transferred = create_metric_per_engine( histogram_bytes_transferred, self.per_engine_labelvalues ) descriptor_buckets = [10, 20, 30, 50, 75, 100, 200, 300, 500, 750, 1000] histogram_num_descriptors = self._histogram_cls( name="vllm:mooncake_num_descriptors", documentation="Histogram of descriptors per Mooncake KV cache transfer.", buckets=descriptor_buckets, labelnames=labelnames, ) self.histogram_num_descriptors = create_metric_per_engine( histogram_num_descriptors, self.per_engine_labelvalues ) counter_num_failed_transfers = self._counter_cls( name="vllm:mooncake_num_failed_transfers", documentation="Number of failed Mooncake KV cache transfers.", labelnames=labelnames, ) self.counter_num_failed_transfers = create_metric_per_engine( counter_num_failed_transfers, self.per_engine_labelvalues ) counter_num_failed_recvs = self._counter_cls( name="vllm:mooncake_num_failed_recvs", documentation="Number of failed Mooncake KV cache receives.", labelnames=labelnames, ) self.counter_num_failed_recvs = create_metric_per_engine( counter_num_failed_recvs, self.per_engine_labelvalues ) counter_num_kv_expired_reqs = self._counter_cls( name="vllm:mooncake_num_kv_expired_reqs", documentation="Number of requests whose Mooncake KV blocks expired.", labelnames=labelnames, ) self.counter_num_kv_expired_reqs = create_metric_per_engine( counter_num_kv_expired_reqs, self.per_engine_labelvalues ) def observe(self, transfer_stats_data: dict[str, Any], engine_idx: int = 0): # A key absent from the payload is skipped rather than raising: the stats # container's key set belongs to the connector and may grow or shrink # between releases, and a metrics path is the wrong place to fail an engine. for prom_obj, key in zip( [ self.histogram_xfer_time, self.histogram_bytes_transferred, self.histogram_num_descriptors, ], ["transfer_duration", "bytes_transferred", "num_descriptors"], ): for list_item in transfer_stats_data.get(key, ()): prom_obj[engine_idx].observe(list_item) for counter_obj, key in zip( [ self.counter_num_failed_transfers, self.counter_num_failed_recvs, self.counter_num_kv_expired_reqs, ], ["num_failed_transfers", "num_failed_recvs", "num_kv_expired_reqs"], ): for list_item in transfer_stats_data.get(key, ()): counter_obj[engine_idx].inc(list_item) PYEOF cat >>"${MOONCAKE_DIR}/mooncake_connector.py" <<'PYEOF' def _build_mooncake_prom_metrics( cls, vllm_config, metric_types, labelnames, per_engine_labelvalues ): # Imported here rather than at module scope: this file already imports from # .stats, and keeping the dependency inside the call leaves the module's # import graph exactly as it was. from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import ( MooncakePromMetrics, ) return MooncakePromMetrics( vllm_config, metric_types, labelnames, per_engine_labelvalues ) # Bound by assignment rather than written into the class body, so that this patch # stays an append and needs no anchor inside a file that differs between releases. MooncakeConnector.build_prom_metrics = classmethod(_build_mooncake_prom_metrics) PYEOF # Assert the patch landed. Both greps are POSITIVE: a negated grep is exempt from # set -e, so the inverted form would pass over a failure. grep -q "class MooncakePromMetrics" "${MOONCAKE_DIR}/stats.py" grep -q "MooncakeConnector.build_prom_metrics = classmethod" "${MOONCAKE_DIR}/mooncake_connector.py" # Import it for real. The greps above prove the text is there; this proves it # parses and that every name it reaches for resolves in this image. python3 -c " from vllm.distributed.kv_transfer.kv_connector.v1.mooncake.stats import MooncakePromMetrics from vllm.distributed.kv_transfer.kv_connector.v1.metrics import KVConnectorPromMetrics assert issubclass(MooncakePromMetrics, KVConnectorPromMetrics) assert MooncakePromMetrics.observe is not KVConnectorPromMetrics.observe print('[info] MooncakePromMetrics imports and overrides observe.') " # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)WORKDIR /
2026-09-16 03:50:11 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["tini" "--"]
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)SHELL [/bin/bash -eo pipefail -c]
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/arm64
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)ARG TARGETOS=linux
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=arm64
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)ARG VLLM_ROUTER_VERSION=0.1.15
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)RUN |4 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 VLLM_ROUTER_VERSION=0.1.15 /bin/bash -eo pipefail -c # vLLM Router uv pip install \ vllm-router==${VLLM_ROUTER_VERSION} # Fail the build rather than ship an image whose router is missing: the # alternative surfaces as a container that exits at deploy time, one # layer away from anything that explains it. command -v vllm-router >/dev/null # Review uv pip tree # Cleanup rm -rf /var/tmp/* \ && rm -rf /tmp/* # buildkit
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)ARG DEPENDENCY_PACKAGES=diffusers flash-attn flashinfer-python lmcache lmcache-ascend mooncake-transfer-engine-npu mooncake-transfer-engine-rocm mooncake-transfer-engine ray runai-model-streamer sgl-kernel-npu sglang-kernel sglang-router torch torch-musa torch-npu transformers vllm-ascend vllm-metax vllm-musa vllm-omni vllm-router
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)RUN |5 TARGETPLATFORM=linux/arm64 TARGETOS=linux TARGETARCH=arm64 VLLM_ROUTER_VERSION=0.1.15 DEPENDENCY_PACKAGES=diffusers flash-attn flashinfer-python lmcache lmcache-ascend mooncake-transfer-engine-npu mooncake-transfer-engine-rocm mooncake-transfer-engine ray runai-model-streamer sgl-kernel-npu sglang-kernel sglang-router torch torch-musa torch-npu transformers vllm-ascend vllm-metax vllm-musa vllm-omni vllm-router /bin/bash -eo pipefail -c DEPENDENCY_PACKAGES="${DEPENDENCY_PACKAGES}" bash /tmp/probe_dependencies.sh # buildkit
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)WORKDIR /
2026-09-20 03:09:45 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["tini" "--"]
Please be careful as this will not just delete the reference but also the actual content!
For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.