Namespace
library
Image / Tag
tomcat:9-jdk17-corretto-al2
Content Digest
sha256:57223119dee4b9e84d9b074ee00635338a1411f2ae0f4bf7bc510a025ddee765
Details
Created

2024-11-09 15:03:40 UTC

Size

221 MB

Content Digest
Environment
CATALINA_HOME

/usr/local/tomcat

GPG_KEYS

48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243

JAVA_HOME

/usr/lib/jvm/java-17-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 - 26.99% (59.8 MB)

[#001] sha256:5ce47bbf12c856f2c3827f5733bc33beb2ba86473a4817f4f8c1b87f1990cd6d - 65.28% (145 MB)

[#002] sha256:de2ad263e3122d8d73cb9aeb09373909794e8e7113e9c9982f087c0526f0b313 - 0.0% (137 Bytes)

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

[#004] sha256:7fe8e22b24620579e4af4bd8f2e2637ba10ba1474fb4ebc268a76b4447c0e343 - 7.74% (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=17.0.13.11-1

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

RUN |1 version=17.0.13.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-17-amazon-corretto-devel-$version && (find /usr/lib/jvm/java-17-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-17-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

222 MB

Content Digest
Environment
CATALINA_HOME

/usr/local/tomcat

GPG_KEYS

48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243

JAVA_HOME

/usr/lib/jvm/java-17-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 - 27.74% (61.6 MB)

[#001] sha256:737939e85848b34826899ab042c8aad6fc1fba8f7f661936f213981c4b20421e - 64.53% (143 MB)

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

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

[#004] sha256:583be38bd25d51333b0941f18a9a056f432e2e7c7d5b93a885efc8e05857f2a5 - 7.73% (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=17.0.13.11-1

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

RUN |1 version=17.0.13.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-17-amazon-corretto-devel-$version && (find /usr/lib/jvm/java-17-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-17-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