镜像构建历史
# 2026-11-06 10:52:52 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["python" "-m" "pkg.initializers.model"]
# 2026-11-06 10:52:52 0.00B 设置环境变量 PATH
ENV PATH=/app/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-11-06 10:52:52 64.02MB 执行命令并创建新的镜像层
RUN /bin/sh -c uv sync --locked --no-dev # buildkit
# 2026-11-06 10:52:51 100.92KB 复制新文件或目录到容器中
COPY pkg/initializers pkg/initializers # buildkit
# 2026-11-06 10:52:51 36.30KB 复制新文件或目录到容器中
COPY cmd/initializers/model/uv.lock . # buildkit
# 2026-11-06 10:52:51 183.00B 复制新文件或目录到容器中
COPY cmd/initializers/model/pyproject.toml . # buildkit
# 2026-11-06 10:51:40 0.00B 设置工作目录为/app
WORKDIR /app
# 2026-11-06 10:51:40 43.38MB 复制新文件或目录到容器中
COPY /uv /uvx /bin/ # buildkit
# 2026-11-05 16:02:15 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2026-11-05 16:02:15 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
# 2026-11-05 16:02:15 38.40MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev g++ gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev libzstd-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 -; 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' && 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 -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | 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
# 2026-11-05 15:51:49 0.00B 设置环境变量 PYTHON_SHA256
ENV PYTHON_SHA256=de414a57119abef52784d8993e341d53aed635fc2b05c2607d9f98a2c5b72032
# 2026-11-05 15:51:49 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.14.10
# 2026-11-05 15:51:49 8.52MB 执行命令并创建新的镜像层
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
# 2026-11-05 15:51:49 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2026-11-05 15:51:49 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-11-05 05:23:39 74.87MB
# debian.sh --arch 'amd64' out/ 'bookworm' '@1793827419'
镜像信息
{
"Id": "sha256:c516ecd0cef17916b41f0925511914fe8522e0fac58ca8954db465fe9d12f56d",
"RepoTags": [
"ghcr.io/kubeflow/trainer/model-initializer:v2.4.0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/kubeflow/trainer/model-initializer:v2.4.0"
],
"RepoDigests": [
"ghcr.io/kubeflow/trainer/model-initializer@sha256:447fb8bee80a965dd2d809975d56f32693e907e4b48d5cc241b6d928dc30e5f4",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/kubeflow/trainer/model-initializer@sha256:c12431decaf445adad315a7debf85c78a9c216579ab61c9190337feaf55e48e2"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-11-06T02:52:52.345266202Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/app/.venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=C.UTF-8",
"PYTHON_VERSION=3.14.10",
"PYTHON_SHA256=de414a57119abef52784d8993e341d53aed635fc2b05c2607d9f98a2c5b72032"
],
"Cmd": null,
"Image": "",
"Volumes": null,
"WorkingDir": "/app",
"Entrypoint": [
"python",
"-m",
"pkg.initializers.model"
],
"OnBuild": null,
"Labels": null
},
"Architecture": "amd64",
"Os": "linux",
"Size": 229335032,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/cec911edcf0c3933405be4b8ea2d81a6ed1a32f35ba09dc6a0845fa0f0ac80be/diff:/var/lib/docker/overlay2/5361a80f7c56022fc6708e1e91927b54e28cb0cbb6e11c0f151a1d4170e5f3f0/diff:/var/lib/docker/overlay2/5689effcff92289d08a17caeec04a2caf810e93e9b98ac5116684c98660e8501/diff:/var/lib/docker/overlay2/fa09a4ea07b56f9328d06b3fdc56f258bdcf15f40266f441bf5e0aa8915030eb/diff:/var/lib/docker/overlay2/096c2bdf79755b67d667512a83b4391b61c57ffd454c5d127c0c26aed2caa1b8/diff:/var/lib/docker/overlay2/10c30e7c8334263b6af58b98996dc5fb2d297f652ac08c56d25f4573683ffe95/diff:/var/lib/docker/overlay2/f0cd62c5fbc3f71c1863980ebfa1139b14d3966271582c2d1defd27e86561aeb/diff:/var/lib/docker/overlay2/a106da9fb66988c50cb8b0842f1013ee3533356355f46547eec4bf6d609fdba3/diff:/var/lib/docker/overlay2/01025eec3dfa36144b5f4257f69e6dcf02be2116cc002cd9fa9128fb37cbf231/diff",
"MergedDir": "/var/lib/docker/overlay2/11a141d59f40f3793fc60f1f050e1608cb91c227f682b4e52a87cbe57dcf78fd/merged",
"UpperDir": "/var/lib/docker/overlay2/11a141d59f40f3793fc60f1f050e1608cb91c227f682b4e52a87cbe57dcf78fd/diff",
"WorkDir": "/var/lib/docker/overlay2/11a141d59f40f3793fc60f1f050e1608cb91c227f682b4e52a87cbe57dcf78fd/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:1d7b9dd8778ebc4d9bf2f64436dd358640718cb349f5640b33bebaea4ffd62c2",
"sha256:09fca8b1de082b21348c667b10f4af70284ab55d99e56335020af7d4ca2d0f5a",
"sha256:8256dc95c32600a949f9655cedfa2befc16362ab6e0d09fc8413576a10058eb2",
"sha256:b5dcc768f696dc274c901430b93e6a9a5b6b13549b7017953e27810002c63747",
"sha256:048238e5f14071ba43cb1a55f93c1eeea7fdd339e766be1fba69368bb63ab1cf",
"sha256:fb14e80d70f711dcb14e80b84e1e5f010e4f46c1ed10552a7e8aca53e723b5c5",
"sha256:090629fba60cae60ae80f0e9f6b49cd5b6886f606317fff07dc804f555dd90a8",
"sha256:c405911b112a6ac36e568cb0d08c05b2fc5a9f53ac6b0362e0bd099b36a63f36",
"sha256:c926fa090af00f23d3f2c15dadee35ec98cdc6a0fd01ffa38df305600499b1cb",
"sha256:72b9fed36c80fa57ad1d123bc5899a48edd97c1aeb7539570e61183dd99d65a4"
]
},
"Metadata": {
"LastTagTime": "2026-11-10T14:27:16.91954254+08:00"
}
}