Namespace
mcdreforged
Image / Tag
mcdreforged-temurin:2.13.0-alpha.2-py3.12-slim-extra
Content Digest
sha256:623e9f3c225d466cdbac7df553b2ca824dabb922d8bff977405bb6d14db49020
Details
Created

2023-12-31 17:55:27 UTC

Size

309 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2023-12-31T17:55:07.350Z
  • org.opencontainers.image.description
    Official docker images for MCDReforged
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.revision
    d29a284571cd1048682524517fd6d3dc0a6dafa5
  • org.opencontainers.image.source
    https://github.com/Fallen-Breath/MCDReforged-Docker
  • org.opencontainers.image.title
    MCDReforged-Docker
  • org.opencontainers.image.url
    https://github.com/Fallen-Breath/MCDReforged-Docker
  • org.opencontainers.image.version
    2.13.0-alpha.2-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_GET_PIP_SHA256

9cc01665956d22b3bf057ae8287b035827bfd895da235bcea200ab3b811790b6

PYTHON_GET_PIP_URL

https://github.com/pypa/get-pip/raw/4cfa4081d27285bda1220a62a5ebf5b4bd749cdb/public/get-pip.py

PYTHON_PIP_VERSION

23.2.1

PYTHON_VERSION

3.12.1


Layers

[#000] sha256:af107e978371b6cd6339127a05502c5eacd1e6b0e9eb7b2f4aa7b6fc87e2dd81 - 9.0% (27.8 MB)

[#001] sha256:8ce3f2b601ccac03ff1858022363c325355bafba224123a4563dade58bc8e70f - 1.08% (3.35 MB)

[#002] sha256:5c578b8d6bec2ad5f4891da753c6f602a9ecb289f3ee5355be5f937ae4bce1d3 - 3.7% (11.4 MB)

[#003] sha256:5eda41c77a92e03536f02f0e47755af1157b7c0dfe4144f0d7b968d7a4c0bbfb - 0.0% (245 Bytes)

[#004] sha256:d0976544ee1e680a18731c0f4dfa54192988aba4da1a95128bb0babdf1e3497c - 0.91% (2.82 MB)

[#005] sha256:f78cfeb68a2a24599cff4605d61975df9219620631006694f93f952a44c28900 - 3.1% (9.58 MB)

[#006] sha256:1982363791219b64adba913410991880f2ae43c62358bd13cc27ac6141b4ac1b - 0.0% (667 Bytes)

[#007] sha256:f80cbfe6a7ce4c52ea87965b67f2d6286f5c06543a8897197a35ddca44ff4103 - 0.0% (94 Bytes)

[#008] sha256:e72c5d3493ef210f4d467819656d29cff3466a76f085f7addce68a5ae4045612 - 0.0% (621 Bytes)

[#009] sha256:f0f8f5b660dd08c3bf2ff69b1ba4e801a80922f93698183a971f3c8ec5b054eb - 18.29% (56.5 MB)

[#010] sha256:7b9a0dc8f907046f8d27300bef8ea27fc18ec017c1235c29c251e808df2f7b15 - 63.91% (197 MB)


History
2023-12-19 01:20:27 UTC

/bin/sh -c #(nop) ADD file:ac3cd70031d35e46d86b876934946ffc8756de4de065fbc926dce642dac07ff3 in /

2023-12-19 01:20:28 UTC

/bin/sh -c #(nop) CMD ["bash"]

2023-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

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

2023-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2023-12-08 04:49:21 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

2023-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2023-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.1

2023-12-08 04:49:21 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 libexpat1-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"; 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-system-expat --without-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:-}" "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' \) \) \) -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/*; python3 --version # buildkit

2023-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

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-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

ENV PYTHON_PIP_VERSION=23.2.1

2023-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

ENV PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/4cfa4081d27285bda1220a62a5ebf5b4bd749cdb/public/get-pip.py

2023-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

ENV PYTHON_GET_PIP_SHA256=9cc01665956d22b3bf057ae8287b035827bfd895da235bcea200ab3b811790b6

2023-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget; wget -O get-pip.py "$PYTHON_GET_PIP_URL"; echo "$PYTHON_GET_PIP_SHA256 *get-pip.py" | sha256sum -c -; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python get-pip.py --disable-pip-version-check --no-cache-dir --no-compile "pip==$PYTHON_PIP_VERSION" ; rm -f get-pip.py; pip --version # buildkit

2023-12-08 04:49:21 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2023-12-31 17:45:33 UTC (buildkit.dockerfile.v0)

ARG MCDR_REQUIREMENT=latest

2023-12-31 17:45:33 UTC (buildkit.dockerfile.v0)

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

2023-12-31 17:45:33 UTC (buildkit.dockerfile.v0)

RUN |2 MCDR_REQUIREMENT=2.13.0a2 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_REQUIREMENT" = "latest" ]; then pip3 install mcdreforged else pip3 install "mcdreforged==${MCDR_REQUIREMENT}" -i "$PYPI_INDEX" --extra-index-url https://pypi.org/simple fi pip3 cache purge && rm -rf ~/.cache/ # buildkit

2023-12-31 17:45:33 UTC (buildkit.dockerfile.v0)

RUN |2 MCDR_REQUIREMENT=2.13.0a2 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

2023-12-31 17:45:33 UTC (buildkit.dockerfile.v0)

WORKDIR /mcdr

2023-12-31 17:45:33 UTC (buildkit.dockerfile.v0)

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

2023-12-31 17:52:41 UTC (buildkit.dockerfile.v0)

COPY requirements_common.txt /tmp/ # buildkit

2023-12-31 17:52:58 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 if python3 -V 2>&1 | grep -q "3.12."; then if ! command -v gcc &> /dev/null; then # lz4 doesn't have prebuilt wheels for py3.12 yet # https://github.com/python-lz4/python-lz4/issues/274 sed -i '/lz4/d' /tmp/requirements_common.txt fi fi pip freeze | grep mcdreforged >> /tmp/requirements_common.txt pip3 install -r /tmp/requirements_common.txt rm -f /tmp/requirements_common.txt pip3 cache purge && rm -rf ~/.cache/ # buildkit

2023-12-31 17:55:27 UTC (buildkit.dockerfile.v0)

ARG JAVA=17

2023-12-31 17:55:27 UTC (buildkit.dockerfile.v0)

RUN |1 JAVA=17 /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 attempts=5 wait_times="1 3 5 10" 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