Namespace
mcdreforged
Image / Tag
mcdreforged-temurin:2.14.0-beta.1-py3.12-slim-jdk21-extra
Content Digest
sha256:fc30f18c59f87929c8786fb26341d37d6de37b68d9aa96fdd56012a7e6abd172
Details
Created

2024-11-19 07:39:43 UTC

Size

356 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2024-11-19T07:39:22.782Z
  • org.opencontainers.image.description
    Official docker images for MCDReforged
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.revision
    182eb8bbfaf76a532cc4b7fe3e33a9b0a155b419
  • org.opencontainers.image.source
    https://github.com/MCDReforged/docker
  • org.opencontainers.image.title
    docker
  • org.opencontainers.image.url
    https://github.com/MCDReforged/docker
  • org.opencontainers.image.version
    2.14.0-beta.1-py3.12-slim-extra

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

PATH

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

PYTHON_SHA256

24887b92e2afd4a2ac602419ad4b596372f67ac9b077190f459aba390faf5550

PYTHON_VERSION

3.12.7


Layers

[#000] sha256:2d429b9e73a6cf90a5bb85105c8118b30a1b2deedeae3ea9587055ffcb80eb45 - 7.81% (27.8 MB)

[#001] sha256:52a9b53e12bf51c83494d6f4faad4d25ce4d1f9b26c4c5032079a4a9f67378f4 - 0.94% (3.35 MB)

[#002] sha256:7fe47536e82b130868383b654c94cfb966a68b4f8aa933f804e945bd0a5ca145 - 3.65% (13 MB)

[#003] sha256:ae157567daae7ded9ad41f2a2e4206df88d54d64c02f489a506dcb10a0bc5ff9 - 0.0% (250 Bytes)

[#004] sha256:e4cd81b08c8463d688c4f18dfe5776c1c983fb4a89e711dd33d0140a2e6b4e90 - 2.79% (9.93 MB)

[#005] sha256:c596f1cd2121610ce6cb1b373a9a28d844e99fd92503433366b8dcc53aeaaaa4 - 0.0% (668 Bytes)

[#006] sha256:bb5051b2bb3bea548e38f47d630d0faf005f09dfd724c4e4e99d272b74dc779d - 0.0% (94 Bytes)

[#007] sha256:1bcbe3b9110cfa00a44d00492af6d88ca4deff35e0a41718e420d0a3b20894f3 - 0.0% (1.16 KB)

[#008] sha256:49e894c43887722cf28a672590426bd3cf1eb95f6d2d0b3080133ffa5e62ff24 - 25.35% (90.2 MB)

[#009] sha256:6321eb10855a297fcbb7c81fc722245a78c2f71d69b9bbb7bfb8ea5c938fd025 - 59.46% (212 MB)


History
2024-10-18 23:23:40 UTC (buildkit.dockerfile.v0)

ADD rootfs.tar.xz / # buildkit

2024-10-18 23:23:40 UTC (buildkit.dockerfile.v0)

CMD ["bash"]

2024-10-18 23:23:40 UTC (buildkit.dockerfile.v0)

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

2024-10-18 23:23:40 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2024-10-18 23:23:40 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

2024-10-18 23:23:40 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2024-10-18 23:23:40 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.7

2024-10-18 23:23:40 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=24887b92e2afd4a2ac602419ad4b596372f67ac9b077190f459aba390faf5550

2024-10-18 23:23:40 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 --version # buildkit

2024-10-18 23:23:40 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

2024-10-18 23:23:40 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2024-11-19 07:35:20 UTC (buildkit.dockerfile.v0)

ARG MCDR_VERSION_REQUIREMENT=2.14.0b1

2024-11-19 07:35:20 UTC (buildkit.dockerfile.v0)

ARG PYPI_INDEX=https://pypi.org/simple

2024-11-19 07:35:20 UTC (buildkit.dockerfile.v0)

RUN |2 MCDR_VERSION_REQUIREMENT=2.14.0b1 PYPI_INDEX=https://pypi.org/simple /bin/sh -c set -eux export PIP_ROOT_USER_ACTION=ignore python3 -m pip install -U pip if [ "$MCDR_VERSION_REQUIREMENT" = "latest" ]; then pip3 install mcdreforged else pip3 install "mcdreforged==${MCDR_VERSION_REQUIREMENT}" -i "$PYPI_INDEX" --extra-index-url https://pypi.org/simple fi pip3 cache purge && rm -rf ~/.cache/ # buildkit

2024-11-19 07:35:20 UTC (buildkit.dockerfile.v0)

RUN |2 MCDR_VERSION_REQUIREMENT=2.14.0b1 PYPI_INDEX=https://pypi.org/simple /bin/sh -c set -eux mkdir -p "$(python3 -m site --user-site)" cat <<EOF > /etc/pip.conf [global] user = true EOF cat <<EOF >> ~/.bashrc # Add Python user bin to PATH export PATH="\$PATH:$(python3 -m site --user-base)/bin" EOF # buildkit

2024-11-19 07:35:20 UTC (buildkit.dockerfile.v0)

WORKDIR /mcdr

2024-11-19 07:35:20 UTC (buildkit.dockerfile.v0)

CMD ["python3" "-m" "mcdreforged" "start" "--auto-init"]

2024-11-19 07:35:53 UTC (buildkit.dockerfile.v0)

COPY requirements_extra.txt /tmp/ # buildkit

2024-11-19 07:36:24 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux # disable the pip config temporary to install packages to the global storage export PIP_CONFIG_FILE=/dev/null pip3 freeze | grep mcdreforged >> /tmp/requirements_extra.txt pip3 install -r /tmp/requirements_extra.txt rm -f /tmp/requirements_extra.txt pip3 cache purge && rm -rf ~/.cache/ # buildkit

2024-11-19 07:39:43 UTC (buildkit.dockerfile.v0)

ARG JAVA=21

2024-11-19 07:39:43 UTC (buildkit.dockerfile.v0)

RUN |1 JAVA=21 /bin/sh -c set -eux export DEBIAN_FRONTEND="noninteractive" apt-get update apt-get install -y gnupg ca-certificates curl curl -so- https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor -o /etc/apt/trusted.gpg.d/adoptium.gpg echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list apt-get update # The temurin source is currently very unstable, add more retries for it # https://github.com/adoptium/adoptium-support/issues/554 # https://github.com/adoptium/installer/issues/766 set +e wait_times="1 3 5 5 5 5 5 5 5" attempts=$(echo "$wait_times" | awk '{print NF}') # 9 attempts for attempt in $(seq 1 $attempts); do if apt-get install -y "temurin-${JAVA}-jdk"; then break fi if [ "$attempt" != "$attempts" ]; then wait_time=$(echo "$wait_times" | cut -d ' ' -f $attempt) echo "Install attempt #$attempt failed. Waiting ${wait_time} minutes for another attempt..." sleep $((wait_time * 60)) else echo "All $attempts attempts failed" exit 1 fi done set -e java -version javac -version rm -rf /var/lib/apt/lists/* # 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