Namespace
mcdreforged
Image / Tag
mcdreforged-temurin:2.14.7-rc.1-py3.12-slim-extra
Content Digest
sha256:fe3c0d8367a6ecee1446b5975552adc1a17bd2c8074054db458704d6b83ced56
Details
Created

2025-03-30 18:14:45 UTC

Size

360 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2025-03-30T18:14:22.784Z
  • org.opencontainers.image.description
    The official docker images for MCDReforged
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.revision
    8df6303ce744c2dfb4fbee5b01d1e9b5559b3600
  • 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.7-rc.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

7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112

PYTHON_VERSION

3.12.9


Layers

[#000] sha256:6e909acdb790c5a1989d9cfc795fda5a246ad6664bb27b5c688e2b734b2c5fad - 7.46% (26.9 MB)

[#001] sha256:0b564fcd72a23e125aa17f344431b8e2189a5b8f89e78953466669795e7f8089 - 0.93% (3.35 MB)

[#002] sha256:e4eb3ff0477a6c3c65761bad0d2aa2c1ce912cdcf883a37226f28e6e277126b6 - 3.61% (13 MB)

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

[#004] sha256:2bf88d06aa96794df35df27c038710cc7f997be1489e055f0c527cb6348497ae - 2.79% (10.1 MB)

[#005] sha256:effcb33d88594350372a6b6cf4db554718ab715d0cbbc6b0438d3dc602e9bec5 - 0.0% (665 Bytes)

[#006] sha256:c0f826ce1e0787f11aca18e2c5e9625ca4d71bf6673808c3a78deaf576aa96ed - 0.0% (92 Bytes)

[#007] sha256:c3c67311b29ae98194dfc921eab8e4d6e1c547d77983f8d991e6fe5211a0ca56 - 0.0% (1.61 KB)

[#008] sha256:b426e1a718fa643b1813c9df94ab8fb4809c39141c9444a4c43ec6666fd1236d - 26.51% (95.6 MB)

[#009] sha256:5fe3cea1919930eb130310d1421587ef64eae29a8e62c0f26ba12306e7f2afcf - 58.69% (212 MB)


History
2025-02-04 21:54:55 UTC (debuerreotype 0.15)

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

2025-02-04 21:54:55 UTC (buildkit.dockerfile.v0)

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

2025-02-04 21:54:55 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-02-04 21:54:55 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-02-04 21:54:55 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2025-02-04 21:54:55 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.9

2025-02-04 21:54:55 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112

2025-02-04 21:54:55 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"; 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-02-04 21:54:55 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-02-04 21:54:55 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-03-30 18:09:49 UTC (buildkit.dockerfile.v0)

ARG MCDR_VERSION_REQUIREMENT=2.14.7rc1

2025-03-30 18:09:49 UTC (buildkit.dockerfile.v0)

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

2025-03-30 18:09:49 UTC (buildkit.dockerfile.v0)

RUN |2 MCDR_VERSION_REQUIREMENT=2.14.7rc1 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

2025-03-30 18:09:49 UTC (buildkit.dockerfile.v0)

RUN |2 MCDR_VERSION_REQUIREMENT=2.14.7rc1 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

2025-03-30 18:09:49 UTC (buildkit.dockerfile.v0)

WORKDIR /mcdr

2025-03-30 18:09:49 UTC (buildkit.dockerfile.v0)

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

2025-03-30 18:10:24 UTC (buildkit.dockerfile.v0)

COPY requirements_extra.txt /tmp/ # buildkit

2025-03-30 18:10:52 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

2025-03-30 18:14:45 UTC (buildkit.dockerfile.v0)

ARG JAVA=21

2025-03-30 18:14:45 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