Namespace
nikolaik
Image / Tag
python-nodejs:python3.11-nodejs18-slim
Content Digest
sha256:98e46d5dfdc866fda524663f1a7e11f4b84d118b1319a038ea0f9f4dea24c0a4
Details
Created

2025-04-09 12:03:17 UTC

Size

209 MB

Content Digest
Labels
  • org.opencontainers.image.authors
    Nikolai R Kristiansen <nikolaik@gmail.com>

Environment
GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

POETRY_HOME

/usr/local

PYTHON_SHA256

849da87af4df137710c1796e276a955f7a85c9f971081067c8f565d15c352a09

PYTHON_VERSION

3.11.12


Layers

[#000] sha256:8a628cdd7ccc83e90e5a95888fcb0ec24b991141176c515ad101f12d6433eb96 - 12.9% (26.9 MB)

[#001] sha256:43c63e9064dd41054650ed57098bfca84300f19130595e7efb7518e7d62a2760 - 1.6% (3.35 MB)

[#002] sha256:838668f9b30cb35defdadc98239c18df606f0aeb7e514ced663b1c48ced9cfc9 - 7.41% (15.5 MB)

[#003] sha256:f0d3f6bec58ec2a78c5cc2192ea0027682da529d745ac1a78e2e415d8f30d6cc - 0.0% (249 Bytes)

[#004] sha256:c1e760881c9cafcd61c767befdee6f00b3d24fbbef9c77cc0f6f1f3f56d41eb0 - 0.0% (3.24 KB)

[#005] sha256:e7559cf8b13b6117b0f5097c742eb0f9d03efea5cdb3788dffebd1fa0eca9c83 - 2.2% (4.59 MB)

[#006] sha256:86a84ff6ac7b3a45f8ee53e888b78b978b0473c4574d81d5a7ed4508facf3740 - 20.88% (43.6 MB)

[#007] sha256:fe49e094d649a09be24379b465f37587059e2162d6a398a6c90683a6dfd8445f - 0.0% (216 Bytes)

[#008] sha256:123a69133377b0fb64bb74b16c32293b9f5863b6f7baf066feca2e3f51fdc52e - 55.01% (115 MB)


History
2025-04-07 00:00:00 UTC (debuerreotype 0.15)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1743984000'

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

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-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.12

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=849da87af4df137710c1796e276a955f7a85c9f971081067c8f565d15c352a09

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

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 --with-lto --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; 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 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==65.5.1' wheel ; pip3 --version # buildkit

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

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-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-04-09 12:02:46 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.authors=Nikolai R Kristiansen <nikolaik@gmail.com>

2025-04-09 12:02:46 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c groupadd --gid 1000 pn && useradd --uid 1000 --gid pn --shell /bin/bash --create-home pn # buildkit

2025-04-09 12:02:46 UTC (buildkit.dockerfile.v0)

ENV POETRY_HOME=/usr/local

2025-04-09 12:02:50 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install curl gnupg2 xz-utils -yqq && apt-get upgrade -yqq && rm -rf /var/lib/apt/lists/* # buildkit

2025-04-09 12:02:59 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c NODE_VERSION="v18.20.8" ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; arm64) ARCH='arm64';; *) echo "unsupported architecture"; exit 1 ;; esac && for key in $(curl -sL https://raw.githubusercontent.com/nodejs/docker-node/HEAD/keys/node.keys); do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && grep " node-$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs # buildkit

2025-04-09 12:02:59 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c corepack enable yarn # buildkit

2025-04-09 12:03:17 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install -U pip pipenv uv && curl -fsSL --compressed https://install.python-poetry.org | python - # buildkit

Details
Created

2025-04-09 12:07:26 UTC

Size

202 MB

Content Digest
Labels
  • org.opencontainers.image.authors
    Nikolai R Kristiansen <nikolaik@gmail.com>

Environment
GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

POETRY_HOME

/usr/local

PYTHON_SHA256

849da87af4df137710c1796e276a955f7a85c9f971081067c8f565d15c352a09

PYTHON_VERSION

3.11.12


Layers

[#000] sha256:16c9c4a8e9eef856231273efbb42a473740e8d50d74d35e6aedd04ff69fe161f - 13.24% (26.8 MB)

[#001] sha256:a7d9a0ac6293889b2e134861072f9099a06d78ca983d7172d7bb8b236008c7c3 - 1.57% (3.18 MB)

[#002] sha256:4be285dcad041a141dfca2bf6e561d47d3d23f00b85f92b8172947c398c8add1 - 7.62% (15.4 MB)

[#003] sha256:a908725a6162be5a9915025dd9ac01890e4f041213b7d4ee27571c08ad9e53c0 - 0.0% (251 Bytes)

[#004] sha256:7612d203c05a76ec9e0a11b0cc755499bb66afe900c7b06377121dad31edbb5f - 0.0% (3.23 KB)

[#005] sha256:9f92365b206e396a829caae9ba341898336d131144542d66a903d8e519c76e30 - 2.27% (4.58 MB)

[#006] sha256:b5b2c72a597444434e0c71924ae815fdaa12cf69ea71123b22c368ca3517026d - 21.58% (43.6 MB)

[#007] sha256:963a8bf27418a887830335d603f96f25fe6aa9fb15889dc6306acf8cc4cb0b6f - 0.0% (218 Bytes)

[#008] sha256:a1dd6da7b675d8fcdcb8cfb3c5c9ba502d9edfd98c0dcb65961eb7cc21ea01c9 - 53.72% (109 MB)


History
2025-04-07 00:00:00 UTC (debuerreotype 0.15)

# debian.sh --arch 'arm64' out/ 'bookworm' '@1743984000'

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

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-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.12

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=849da87af4df137710c1796e276a955f7a85c9f971081067c8f565d15c352a09

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

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 --with-lto --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; 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 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==65.5.1' wheel ; pip3 --version # buildkit

2025-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

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-04-08 19:02:43 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-04-09 12:03:39 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.authors=Nikolai R Kristiansen <nikolaik@gmail.com>

2025-04-09 12:03:39 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c groupadd --gid 1000 pn && useradd --uid 1000 --gid pn --shell /bin/bash --create-home pn # buildkit

2025-04-09 12:03:39 UTC (buildkit.dockerfile.v0)

ENV POETRY_HOME=/usr/local

2025-04-09 12:04:28 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install curl gnupg2 xz-utils -yqq && apt-get upgrade -yqq && rm -rf /var/lib/apt/lists/* # buildkit

2025-04-09 12:04:46 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c NODE_VERSION="v18.20.8" ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; arm64) ARCH='arm64';; *) echo "unsupported architecture"; exit 1 ;; esac && for key in $(curl -sL https://raw.githubusercontent.com/nodejs/docker-node/HEAD/keys/node.keys); do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && grep " node-$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs # buildkit

2025-04-09 12:04:53 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c corepack enable yarn # buildkit

2025-04-09 12:07:26 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install -U pip pipenv uv && curl -fsSL --compressed https://install.python-poetry.org | python - # buildkit

Danger Zone
Delete Tag

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.

Delete