镜像构建历史
# 2023-07-22 18:00:27 0.00B 设置默认要执行的命令
CMD ["python3"]
# 2023-07-22 18:00:27 9.91MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; wget -O get-pip.py "$PYTHON_GET_PIP_URL"; echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum -c -; export PYTHONDONTWRITEBYTECODE=1; python get-pip.py --disable-pip-version-check --no-cache-dir --no-compile "pip==$PYTHON_PIP_VERSION" "setuptools==$PYTHON_SETUPTOOLS_VERSION" ; rm -f get-pip.py; pip --version # buildkit
# 2023-07-22 18:00:27 0.00B 设置环境变量 PYTHON_GET_PIP_SHA256
ENV PYTHON_GET_PIP_SHA256=45a2bb8bf2bb5eff16fdd00faef6f29731831c7c59bd9fc2bf1f3bed511ff1fe
# 2023-07-22 18:00:27 0.00B 设置环境变量 PYTHON_GET_PIP_URL
ENV PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/9af82b715db434abb94a0a6f3569f43e72157346/public/get-pip.py
# 2023-07-22 18:00:27 0.00B 设置环境变量 PYTHON_SETUPTOOLS_VERSION
ENV PYTHON_SETUPTOOLS_VERSION=57.5.0
# 2023-07-22 18:00:27 0.00B 设置环境变量 PYTHON_PIP_VERSION
ENV PYTHON_PIP_VERSION=23.0.1
# 2023-07-22 18:00:27 32.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; for src in idle3 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
# 2023-07-22 18:00:27 32.58MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps gnupg tar xz bluez-dev bzip2-dev dpkg-dev dpkg expat-dev findutils gcc gdbm-dev libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tcl-dev tk tk-dev util-linux-dev xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; 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 --with-system-expat --without-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; PROFILE_TASK='-m test.regrtest --pgo test_array test_base64 test_binascii test_binhex test_binop test_bytes test_c_locale_coercion test_class test_cmath test_codecs test_compile test_complex test_csv test_decimal test_dict test_float test_fstring test_hashlib test_io test_iter test_json test_long test_math test_memoryview test_pickle test_re test_set test_slice test_struct test_threading test_time test_traceback test_unicode '; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" "PROFILE_TASK=${PROFILE_TASK:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" "PROFILE_TASK=${PROFILE_TASK:-}" 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' \) \) -o \( -type f -a -name 'wininst-*.exe' \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; python3 --version # buildkit
# 2023-07-22 18:00:27 0.00B 设置环境变量 PYTHON_VERSION
ENV PYTHON_VERSION=3.7.17
# 2023-07-22 18:00:27 0.00B 设置环境变量 GPG_KEY
ENV GPG_KEY=0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D
# 2023-07-22 18:00:27 1.75MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
# 2023-07-22 18:00:27 0.00B 设置环境变量 LANG
ENV LANG=C.UTF-8
# 2023-07-22 18:00:27 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2023-09-29 04:39:34 0.00B
/bin/sh -c #(nop) CMD ["/bin/sh"]
# 2023-09-29 04:39:33 7.66MB
/bin/sh -c #(nop) ADD file:ff3112828967e8004a3264d7ece3f81c88e6a1d44d360b9b5613caab15b41717 in /
镜像信息
{
"Id": "sha256:c7ca299792ba008ecf882bf830a79a0ca61f4a6c02e419dc84b680ead81e387b",
"RepoTags": [
"python:3.7.17-alpine3.18",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/python:3.7.17-alpine3.18-linuxarm64"
],
"RepoDigests": [
"python@sha256:f3d31c8677d03f0b3c724446077f229a6ce9d3ac430f5c08cd7dff00292048c3",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/python@sha256:99343bb845bbc7816b412b18fb3db20d051c96bfc8ab88852599a0e95a26ea05"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2023-07-22T10:00:27Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"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=0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D",
"PYTHON_VERSION=3.7.17",
"PYTHON_PIP_VERSION=23.0.1",
"PYTHON_SETUPTOOLS_VERSION=57.5.0",
"PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/9af82b715db434abb94a0a6f3569f43e72157346/public/get-pip.py",
"PYTHON_GET_PIP_SHA256=45a2bb8bf2bb5eff16fdd00faef6f29731831c7c59bd9fc2bf1f3bed511ff1fe"
],
"Cmd": [
"python3"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": null
},
"Architecture": "arm64",
"Variant": "v8",
"Os": "linux",
"Size": 51900523,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/1b4649ce379cfa1032d9fdb3e1ca1bafc8b2ad6bbf32f09bc57cdf24a55fb9fa/diff:/var/lib/docker/overlay2/2737dee0e256b5ab31993b01149ee13ec6302eb96495df1f2f5c103717ccaece/diff:/var/lib/docker/overlay2/ed09fbc9d8c94adced9cf5f764a11b05fb6803f6fb0f33663f20aac4da0f599d/diff:/var/lib/docker/overlay2/08739c8da4b26f246d0c51f901680ce08482667b1c731a7cb446cf10e0df6132/diff",
"MergedDir": "/var/lib/docker/overlay2/4217799cc5b67928c381a0b9c274c0b197b50a3561ae6b34a3970f2ffa6279d2/merged",
"UpperDir": "/var/lib/docker/overlay2/4217799cc5b67928c381a0b9c274c0b197b50a3561ae6b34a3970f2ffa6279d2/diff",
"WorkDir": "/var/lib/docker/overlay2/4217799cc5b67928c381a0b9c274c0b197b50a3561ae6b34a3970f2ffa6279d2/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:5f4d9fc4d98de91820d2a9c81e501c8cc6429bc8758b43fcb2cd50f4cab9a324",
"sha256:1dd691a56feeb1f2c8502f5b9b1f87c6cc125c4648409be5a4cfae33220b5880",
"sha256:8cdb65c86477ed5493168d70cdbd9c02c5ba286ddbeb3a77d4f6246891c31f09",
"sha256:73a3dbe81708dc8eb21fe6342781531b3df9641ca0d52c09df5cd0e7fef3d392",
"sha256:c3079005e07b97b09960ad5464918264b76c96b035ba89636028a885a27eed37"
]
},
"Metadata": {
"LastTagTime": "2025-03-05T10:12:03.279437107+08:00"
}
}