镜像构建历史
# 2026-08-18 16:17:03 0.00B 设置默认要执行的命令
CMD ["vllm-router" "--host" "0.0.0.0" "--port" "8080"]
# 2026-08-18 16:17:03 0.00B 声明容器运行时监听的端口
EXPOSE map[29000/tcp:{}]
# 2026-08-18 16:17:03 0.00B 声明容器运行时监听的端口
EXPOSE map[8080/tcp:{}]
# 2026-08-18 16:17:03 12.74MB 执行命令并创建新的镜像层
RUN /bin/sh -c pip install setuptools-rust wheel build requests # buildkit
# 2026-08-18 16:17:01 9.23KB 复制新文件或目录到容器中
COPY README.md ./ # buildkit
# 2026-08-18 16:17:01 1.67KB 复制新文件或目录到容器中
COPY pyproject.toml ./ # buildkit
# 2026-08-18 16:17:00 49.88KB 复制新文件或目录到容器中
COPY py_src ./py_src # buildkit
# 2026-08-18 16:17:00 24.40MB 执行命令并创建新的镜像层
RUN /bin/sh -c chmod +x /usr/local/bin/vllm-router # buildkit
# 2026-08-18 16:17:00 24.40MB 复制新文件或目录到容器中
COPY /app/target/release/vllm-router /usr/local/bin/vllm-router # buildkit
# 2026-08-18 16:13:33 0.00B 设置工作目录为/app
WORKDIR /app
# 2026-08-18 16:13:33 16.68MB 执行命令并创建新的镜像层
RUN /bin/sh -c pip3 install --upgrade pip # buildkit
# 2026-08-18 16:13:30 44.86MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && apt upgrade -y && apt-get install -y curl && rm -rf /var/lib/apt/lists/* # buildkit
# 2025-06-04 08:40:01 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2025-06-04 08:40:01 36.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit
# 2025-06-04 08:40:01 37.99MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
# 2025-06-04 08:40:01 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb
# 2025-06-04 08:40:01 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.12.11
# 2025-06-04 08:40:01 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
# 2025-06-04 08:40:01 3.11MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit
# 2025-06-04 08:40:01 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2025-06-04 08:40:01 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-06-04 08:40:01 80.67MB
# debian.sh --arch 'amd64' out/ 'bullseye' '@1753056000'
镜像信息
{
"Id": "sha256:a0aa6f6821898773a418957251a02b19c87bfa27f1c1b6db3bb62b632c7860df",
"RepoTags": [
"vllm/vllm-router:nightly",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/vllm/vllm-router:nightly"
],
"RepoDigests": [
"vllm/vllm-router@sha256:9594f1e291e882cfc654f0831c2e24c8298636d0312ca7aa45923c42288daffd",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/vllm/vllm-router@sha256:8ffabcadea2d6fcbbe27e2d1d01e7c91788546a2da14370a704aa41ef060900d"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-08-18T08:17:03.550331218Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"29000/tcp": {},
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
"PYTHON_VERSION=3.12.11",
"PYTHON_SHA256=c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb"
],
"Cmd": [
"vllm-router",
"--host",
"0.0.0.0",
"--port",
"8080"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/app",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 244904160,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/50962b2871379514422309efbece041fd1f2a2a4bfbb2f415649cc78d5f38add/diff:/var/lib/docker/overlay2/ef021e370276dd2e71f7d3d17fd5cff57d616c5217fe7d003b46e9100cf6cf1f/diff:/var/lib/docker/overlay2/9bd06573d9c753b580047f4e14da00792d50489930cab7713297b91b534dc6ab/diff:/var/lib/docker/overlay2/f4e71ab3aa0097ee4ff0b612f0abd59030fb90d026126fc3bf2c196988d295d2/diff:/var/lib/docker/overlay2/09307f9cd6450045fcc388d6d3b626b1c0dc03e5fc890a40d894fef6dc64a9e0/diff:/var/lib/docker/overlay2/ec1ca6e6800bbb4250394183982a49d26ea1f4ec80c7dd680f4e8d5fbb5bdeb2/diff:/var/lib/docker/overlay2/cc3ab96abad1a1ba8e0e027fda2323da5403e7e7750d6df8fdbc94f633582a87/diff:/var/lib/docker/overlay2/aa6ad3246365dbc593c4e66393ce97e3fd32ab4fafc4131a7c7487c8255958c6/diff:/var/lib/docker/overlay2/81c099b46898c12fa74467367278c4c19aeedf920f7a089e9629f9b621764b67/diff:/var/lib/docker/overlay2/0d96d4623b3279e541d7fc9d3d9939d06c3c9dcb313fa140ff64f44c6b34e013/diff:/var/lib/docker/overlay2/a0d45dcd98c1720817056259a7bdce878e0719535faea376e9702be1c5938741/diff:/var/lib/docker/overlay2/cc98d749d4f38be675349bf12a8ac9ead2443ec581c5b858e3730af00b3fda21/diff",
"MergedDir": "/var/lib/docker/overlay2/1d1ed7217fd5ad1d8f9b22151064a34953f062ff12cfca14c0238eb0467c2094/merged",
"UpperDir": "/var/lib/docker/overlay2/1d1ed7217fd5ad1d8f9b22151064a34953f062ff12cfca14c0238eb0467c2094/diff",
"WorkDir": "/var/lib/docker/overlay2/1d1ed7217fd5ad1d8f9b22151064a34953f062ff12cfca14c0238eb0467c2094/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:a07f4ed3adbe9f3131e7531782871ac8e2bd4abf9faf2292dbbf24e2e5746314",
"sha256:2211775a421b3b3ed19f92d843488d5b1d6fed2837a2081e7b0e1f79b835a3b8",
"sha256:2bc61d9b95d63d0c476fc809b9ff742050d5da7da4a8e7c6d3f62780651a5d4d",
"sha256:fb11ed8ed0de88a4409ea7535ce395f0468f904467b9a023a1a98e52394b504d",
"sha256:81365acc6bfc9ba1cb778df7a481a6bb18b1c90bbf2213f8e7653d94cfaad0e2",
"sha256:8f3d78338fe1b52319de6c6bea27094bb89fb3689338ca8ece146d165a5e9e30",
"sha256:25717e9f3db060c5cd85f70db0508e28813e8696bccc4100ef48afa995897ec4",
"sha256:d94748b9f6c578fea27a25fabb09703f2c66eb23a46d82c6dfc65c9cc40858aa",
"sha256:ef5deaf5721cfe6ab91a9c92e3544d1a0e6c01344560eedf79a92cdc135c8494",
"sha256:af6590e77154304606d537cb5deac0b971d5c9b4ff3ef8e4a0a24cd86390ea0d",
"sha256:869315cf5f7d1acbf2e55c340a0bc07f20e12c526bd93db7f6dc05b229e3751d",
"sha256:5ac7a35594d8d8fa0a1d18df14fa1329bd480802240e81430ce48441c4df3804",
"sha256:315f4ceab8dc2961cb27c1d01f054852224c651ed525f008be11a50e7f7fc7c8"
]
},
"Metadata": {
"LastTagTime": "2026-08-18T19:32:42.427093361+08:00"
}
}