Namespace
library
Image / Tag
tomcat:9.0.96-jdk17-corretto
Content Digest
sha256:dca5d9194cc4572734abe674481f4971b69f11378c208cd87ba36d797b4e51df
Details
Created

2024-10-08 14:03:39 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

ef3ac81debbc3a519c43d1fdb1c88ab26a8052af424d81bceccfbd6e663050a06d7aad7960fd5d11c17849829daebbebf33d92ac1158902283d0e534514aab93

TOMCAT_VERSION

9.0.96


Layers

[#000] sha256:8430d4c5a00587f0a8dc4c62f82455c123b54b9016d43897ee77c496c018a8bd - 26.99% (59.8 MB)

[#001] sha256:51a083e9f2b116d1ae278ce847a47374ba222e670cee57c7a4767ad77fe66fbd - 65.29% (145 MB)

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

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

[#004] sha256:b10af946fdf375e8824694b0682f922bd973c3da5e9ca6d17e7395cf87bf80c6 - 7.72% (17.1 MB)

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


History
2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

COPY /rootfs/ / # buildkit

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

CMD ["/bin/bash"]

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ARG version=17.0.13.11-1

2024-10-08 14:03:39 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-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV CATALINA_HOME=/usr/local/tomcat

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_MAJOR=9

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_VERSION=9.0.96

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_SHA512=ef3ac81debbc3a519c43d1fdb1c88ab26a8052af424d81bceccfbd6e663050a06d7aad7960fd5d11c17849829daebbebf33d92ac1158902283d0e534514aab93

2024-10-08 14:03:39 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-10-08 14:03:39 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-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

CMD ["catalina.sh" "run"]

Details
Created

2024-10-08 14:03:39 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

ef3ac81debbc3a519c43d1fdb1c88ab26a8052af424d81bceccfbd6e663050a06d7aad7960fd5d11c17849829daebbebf33d92ac1158902283d0e534514aab93

TOMCAT_VERSION

9.0.96


Layers

[#000] sha256:0a62aca1c7d7ec3e0e098bf23685d8f0fcd19e33577a91dafc6dd30bef06deca - 27.74% (61.6 MB)

[#001] sha256:621032f3b5245522000736763c029c662256847f8f302dc80960bc4ee553d9ff - 64.54% (143 MB)

[#002] sha256:681c71f533ecfb93b119314e2b802e698ae8847a57ab4b8998b8d4734f4f59a2 - 0.0% (139 Bytes)

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

[#004] sha256:c3dd180acea035db3925b3a344a27ed5a96adbf7adea51b24a9d15f9ff489585 - 7.72% (17.1 MB)

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


History
2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

COPY /rootfs/ / # buildkit

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

CMD ["/bin/bash"]

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ARG version=17.0.13.11-1

2024-10-08 14:03:39 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-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV CATALINA_HOME=/usr/local/tomcat

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

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

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_MAJOR=9

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_VERSION=9.0.96

2024-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_SHA512=ef3ac81debbc3a519c43d1fdb1c88ab26a8052af424d81bceccfbd6e663050a06d7aad7960fd5d11c17849829daebbebf33d92ac1158902283d0e534514aab93

2024-10-08 14:03:39 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-10-08 14:03:39 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-10-08 14:03:39 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2024-10-08 14:03:39 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