Namespace
library
Image / Tag
tomcat:9-jdk21-corretto
Content Digest
sha256:5a5fa72e28481b3542daf4d4a6ace2b70de7cedda335d5f4913f35b76941d51e
Details
Created

2024-11-09 15:03:40 UTC

Size

234 MB

Content Digest
Environment
CATALINA_HOME

/usr/local/tomcat

GPG_KEYS

48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243

JAVA_HOME

/usr/lib/jvm/java-21-amazon-corretto

LANG

C.UTF-8

LD_LIBRARY_PATH

/usr/local/tomcat/native-jni-lib

PATH

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

TOMCAT_MAJOR

9

TOMCAT_NATIVE_LIBDIR

/usr/local/tomcat/native-jni-lib

TOMCAT_SHA512

537dbbfc03b37312c2ec282c6906828298cb74e42aca6e3e6835d44bf6923fd8c5db77e98bf6ce9ef19e1922729de53b20546149176e07ac04087df786a62fd9

TOMCAT_VERSION

9.0.97


Layers

[#000] sha256:899046e4a240e349763e42464f501b60a1bd429af9f38ccd927d9da2124b98de - 25.54% (59.8 MB)

[#001] sha256:0d99bf7453e16b970beb1cddf7fce76a01a106547b4a1e63679382918f788373 - 67.14% (157 MB)

[#002] sha256:61d06ba4448b49fe5ac5f0c22b541d5b06b8a4038e1b86efa623a53f36b9a5cd - 0.0% (138 Bytes)

[#003] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#004] sha256:97ab861cf6c3524206703dcc40ffd83e51cf75323474f6f7615c5eb00ea367fb - 7.32% (17.1 MB)

[#005] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

COPY /rootfs/ / # buildkit

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

CMD ["/bin/bash"]

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

ARG version=21.0.5.11-1

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

RUN |1 version=21.0.5.11-1 /bin/sh -c set -eux && export GNUPGHOME="$(mktemp -d)" && curl -fL -o corretto.key https://yum.corretto.aws/corretto.key && gpg --batch --import corretto.key && gpg --batch --export --armor '6DC3636DAE534049C8B94623A122542AB04F24E3' > corretto.key && rpm --import corretto.key && rm -r "$GNUPGHOME" corretto.key && curl -fL -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo && grep -q '^gpgcheck=1' /etc/yum.repos.d/corretto.repo && echo "priority=9" >> /etc/yum.repos.d/corretto.repo && yum install -y java-21-amazon-corretto-devel-$version && (find /usr/lib/jvm/java-21-amazon-corretto -name src.zip -delete || true) && yum install -y fontconfig && yum clean all # buildkit

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

ENV JAVA_HOME=/usr/lib/jvm/java-21-amazon-corretto

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV CATALINA_HOME=/usr/local/tomcat

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

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

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p "$CATALINA_HOME" # buildkit

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_MAJOR=9

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_VERSION=9.0.97

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_SHA512=537dbbfc03b37312c2ec282c6906828298cb74e42aca6e3e6835d44bf6923fd8c5db77e98bf6ce9ef19e1922729de53b20546149176e07ac04087df786a62fd9

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; if ! command -v yumdb > /dev/null; then yum install -y --setopt=skip_missing_names_on_install=False yum-utils; yumdb set reason dep yum-utils; fi; _yum_install_temporary() { ( set -eu +x; local pkg todo=''; for pkg; do if ! rpm --query "$pkg" > /dev/null 2>&1; then todo="$todo $pkg"; fi; done; if [ -n "$todo" ]; then set -x; yum install -y --setopt=skip_missing_names_on_install=False $todo; yumdb set reason dep $todo; fi; ) }; _yum_install_temporary gzip tar; ddist() { local f="$1"; shift; local distFile="$1"; shift; local mvnFile="${1:-}"; local success=; local distUrl=; for distUrl in "https://dlcdn.apache.org/$distFile" "https://archive.apache.org/dist/$distFile" ${mvnFile:+"https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/$mvnFile"} ; do if curl -fL -o "$f" "$distUrl" && [ -s "$f" ]; then success=1; break; fi; done; [ -n "$success" ]; }; ddist 'tomcat.tar.gz' "tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz" "$TOMCAT_VERSION/tomcat-$TOMCAT_VERSION.tar.gz"; echo "$TOMCAT_SHA512 *tomcat.tar.gz" | sha512sum --strict --check -; ddist 'tomcat.tar.gz.asc' "tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz.asc" "$TOMCAT_VERSION/tomcat-$TOMCAT_VERSION.tar.gz.asc"; export GNUPGHOME="$(mktemp -d)"; for key in $GPG_KEYS; do gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; done; gpg --batch --verify tomcat.tar.gz.asc tomcat.tar.gz; tar -xf tomcat.tar.gz --strip-components=1; rm bin/*.bat; rm tomcat.tar.gz*; rm -rf "$GNUPGHOME"; mv webapps webapps.dist; mkdir webapps; nativeBuildDir="$(mktemp -d)"; tar -xf bin/tomcat-native.tar.gz -C "$nativeBuildDir" --strip-components=1; _yum_install_temporary apr-devel gcc make openssl11-devel ; ( export CATALINA_HOME="$PWD"; cd "$nativeBuildDir/native"; aprConfig="$(command -v apr-1-config)"; ./configure --libdir="$TOMCAT_NATIVE_LIBDIR" --prefix="$CATALINA_HOME" --with-apr="$aprConfig" --with-java-home="$JAVA_HOME" --with-ssl ; nproc="$(nproc)"; make -j "$nproc"; make install; ); rm -rf "$nativeBuildDir"; rm bin/tomcat-native.tar.gz; find "$TOMCAT_NATIVE_LIBDIR" -type f -executable -exec ldd '{}' ';' | awk '/=>/ && $(NF-1) != "=>" { print $(NF-1) }' | xargs -rt readlink -e | sort -u | xargs -rt rpm --query --whatprovides | sort -u | tee "$TOMCAT_NATIVE_LIBDIR/.dependencies.txt" | xargs -r yumdb set reason user ; yum autoremove -y; yum clean all; rm -rf /var/cache/yum; find ./bin/ -name '*.sh' -exec sed -ri 's|^#!/bin/sh$|#!/usr/bin/env bash|' '{}' +; chmod -R +rX .; chmod 1777 logs temp work; catalina.sh version # buildkit

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; nativeLines="$(catalina.sh configtest 2>&1)"; nativeLines="$(echo "$nativeLines" | grep 'Apache Tomcat Native')"; nativeLines="$(echo "$nativeLines" | sort -u)"; if ! echo "$nativeLines" | grep -E 'INFO: Loaded( APR based)? Apache Tomcat Native library' >&2; then echo >&2 "$nativeLines"; exit 1; fi # buildkit

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

CMD ["catalina.sh" "run"]

Details
Created

2024-11-09 15:03:40 UTC

Size

234 MB

Content Digest
Environment
CATALINA_HOME

/usr/local/tomcat

GPG_KEYS

48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243

JAVA_HOME

/usr/lib/jvm/java-21-amazon-corretto

LANG

C.UTF-8

LD_LIBRARY_PATH

/usr/local/tomcat/native-jni-lib

PATH

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

TOMCAT_MAJOR

9

TOMCAT_NATIVE_LIBDIR

/usr/local/tomcat/native-jni-lib

TOMCAT_SHA512

537dbbfc03b37312c2ec282c6906828298cb74e42aca6e3e6835d44bf6923fd8c5db77e98bf6ce9ef19e1922729de53b20546149176e07ac04087df786a62fd9

TOMCAT_VERSION

9.0.97


Layers

[#000] sha256:ac443ee34758d1600a5b00a6cdb0786b24d6b89a9b4fb2518f0fdcc1f7353b57 - 26.31% (61.6 MB)

[#001] sha256:0b12065c0a49fb98944635b5f9ab73347f950cbeb463203205939bcf365d777e - 66.35% (155 MB)

[#002] sha256:77f87ef5a75f499d9c2d955f67099129400b31a4c7924eb3ac39aa37b1f08c0a - 0.0% (138 Bytes)

[#003] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#004] sha256:4045731f65dfc19973a4d1929fe61d8eee33dccf1d7fc7a543a4144b2666ce08 - 7.33% (17.2 MB)

[#005] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

COPY /rootfs/ / # buildkit

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

CMD ["/bin/bash"]

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

ARG version=21.0.5.11-1

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

RUN |1 version=21.0.5.11-1 /bin/sh -c set -eux && export GNUPGHOME="$(mktemp -d)" && curl -fL -o corretto.key https://yum.corretto.aws/corretto.key && gpg --batch --import corretto.key && gpg --batch --export --armor '6DC3636DAE534049C8B94623A122542AB04F24E3' > corretto.key && rpm --import corretto.key && rm -r "$GNUPGHOME" corretto.key && curl -fL -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo && grep -q '^gpgcheck=1' /etc/yum.repos.d/corretto.repo && echo "priority=9" >> /etc/yum.repos.d/corretto.repo && yum install -y java-21-amazon-corretto-devel-$version && (find /usr/lib/jvm/java-21-amazon-corretto -name src.zip -delete || true) && yum install -y fontconfig && yum clean all # buildkit

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2024-10-16 02:18:03 UTC (buildkit.dockerfile.v0)

ENV JAVA_HOME=/usr/lib/jvm/java-21-amazon-corretto

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV CATALINA_HOME=/usr/local/tomcat

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

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

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p "$CATALINA_HOME" # buildkit

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_MAJOR=9

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_VERSION=9.0.97

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_SHA512=537dbbfc03b37312c2ec282c6906828298cb74e42aca6e3e6835d44bf6923fd8c5db77e98bf6ce9ef19e1922729de53b20546149176e07ac04087df786a62fd9

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; if ! command -v yumdb > /dev/null; then yum install -y --setopt=skip_missing_names_on_install=False yum-utils; yumdb set reason dep yum-utils; fi; _yum_install_temporary() { ( set -eu +x; local pkg todo=''; for pkg; do if ! rpm --query "$pkg" > /dev/null 2>&1; then todo="$todo $pkg"; fi; done; if [ -n "$todo" ]; then set -x; yum install -y --setopt=skip_missing_names_on_install=False $todo; yumdb set reason dep $todo; fi; ) }; _yum_install_temporary gzip tar; ddist() { local f="$1"; shift; local distFile="$1"; shift; local mvnFile="${1:-}"; local success=; local distUrl=; for distUrl in "https://dlcdn.apache.org/$distFile" "https://archive.apache.org/dist/$distFile" ${mvnFile:+"https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/$mvnFile"} ; do if curl -fL -o "$f" "$distUrl" && [ -s "$f" ]; then success=1; break; fi; done; [ -n "$success" ]; }; ddist 'tomcat.tar.gz' "tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz" "$TOMCAT_VERSION/tomcat-$TOMCAT_VERSION.tar.gz"; echo "$TOMCAT_SHA512 *tomcat.tar.gz" | sha512sum --strict --check -; ddist 'tomcat.tar.gz.asc' "tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz.asc" "$TOMCAT_VERSION/tomcat-$TOMCAT_VERSION.tar.gz.asc"; export GNUPGHOME="$(mktemp -d)"; for key in $GPG_KEYS; do gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; done; gpg --batch --verify tomcat.tar.gz.asc tomcat.tar.gz; tar -xf tomcat.tar.gz --strip-components=1; rm bin/*.bat; rm tomcat.tar.gz*; rm -rf "$GNUPGHOME"; mv webapps webapps.dist; mkdir webapps; nativeBuildDir="$(mktemp -d)"; tar -xf bin/tomcat-native.tar.gz -C "$nativeBuildDir" --strip-components=1; _yum_install_temporary apr-devel gcc make openssl11-devel ; ( export CATALINA_HOME="$PWD"; cd "$nativeBuildDir/native"; aprConfig="$(command -v apr-1-config)"; ./configure --libdir="$TOMCAT_NATIVE_LIBDIR" --prefix="$CATALINA_HOME" --with-apr="$aprConfig" --with-java-home="$JAVA_HOME" --with-ssl ; nproc="$(nproc)"; make -j "$nproc"; make install; ); rm -rf "$nativeBuildDir"; rm bin/tomcat-native.tar.gz; find "$TOMCAT_NATIVE_LIBDIR" -type f -executable -exec ldd '{}' ';' | awk '/=>/ && $(NF-1) != "=>" { print $(NF-1) }' | xargs -rt readlink -e | sort -u | xargs -rt rpm --query --whatprovides | sort -u | tee "$TOMCAT_NATIVE_LIBDIR/.dependencies.txt" | xargs -r yumdb set reason user ; yum autoremove -y; yum clean all; rm -rf /var/cache/yum; find ./bin/ -name '*.sh' -exec sed -ri 's|^#!/bin/sh$|#!/usr/bin/env bash|' '{}' +; chmod -R +rX .; chmod 1777 logs temp work; catalina.sh version # buildkit

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; nativeLines="$(catalina.sh configtest 2>&1)"; nativeLines="$(echo "$nativeLines" | grep 'Apache Tomcat Native')"; nativeLines="$(echo "$nativeLines" | sort -u)"; if ! echo "$nativeLines" | grep -E 'INFO: Loaded( APR based)? Apache Tomcat Native library' >&2; then echo >&2 "$nativeLines"; exit 1; fi # buildkit

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2024-11-09 15:03:40 UTC (buildkit.dockerfile.v0)

CMD ["catalina.sh" "run"]

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