2024-06-19 14:03:42 UTC
234 MB
/usr/local/tomcat
GPG_KEYS48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243
JAVA_HOME/usr/lib/jvm/java-21-amazon-corretto
LANGC.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_MAJOR9
TOMCAT_NATIVE_LIBDIR/usr/local/tomcat/native-jni-lib
TOMCAT_SHA512e77b47d7ded86da81018d38c4f728f5f804c1a65bb941a138a7989b69c859031e88d113ccf4fc3a409062ee24511fa5ccf15dfad333f570838ee2a36dae23e19
TOMCAT_VERSION9.0.90
[#000] sha256:2a5dc0ac7266321476902a4277a4723285b608c065fcb80cacdb3ed43a7c29fe - 25.54% (59.7 MB)
[#001] sha256:25d89ce34f31bbf0c736abd2c5850a89a70a63c183300873b63c89b857f2347a - 67.55% (158 MB)
[#002] sha256:51700b541637a9e27427b87d848100610f39ec8b63d802c1526bc19bf1a96bb1 - 0.0% (139 Bytes)
[#003] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#004] sha256:4fae09f98a351b239844b68bf0c2432348608a87da55eab81317dfc6bd2eebb5 - 6.91% (16.2 MB)
[#005] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
/bin/sh -c #(nop) COPY dir:db8dc48874881c2542c8e2120173f53413158e7da7526edf07aa742f426b8c16 in /
2024-04-16 21:21:40 UTC/bin/sh -c #(nop) CMD ["/bin/bash"]
2024-04-16 21:21:40 UTC (buildkit.dockerfile.v0)ARG version=21.0.3.9-1
2024-04-16 21:21:40 UTC (buildkit.dockerfile.v0)RUN |1 version=21.0.3.9-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-04-16 21:21:40 UTC (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2024-04-16 21:21:40 UTC (buildkit.dockerfile.v0)ENV JAVA_HOME=/usr/lib/jvm/java-21-amazon-corretto
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV CATALINA_HOME=/usr/local/tomcat
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p "$CATALINA_HOME" # buildkit
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)WORKDIR /usr/local/tomcat
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV TOMCAT_MAJOR=9
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV TOMCAT_VERSION=9.0.90
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV TOMCAT_SHA512=e77b47d7ded86da81018d38c4f728f5f804c1a65bb941a138a7989b69c859031e88d113ccf4fc3a409062ee24511fa5ccf15dfad333f570838ee2a36dae23e19
2024-06-19 14:03:42 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-06-19 14:03:42 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-06-19 14:03:42 UTC (buildkit.dockerfile.v0)EXPOSE map[8080/tcp:{}]
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)CMD ["catalina.sh" "run"]
2024-06-19 14:03:42 UTC
234 MB
/usr/local/tomcat
GPG_KEYS48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243
JAVA_HOME/usr/lib/jvm/java-21-amazon-corretto
LANGC.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_MAJOR9
TOMCAT_NATIVE_LIBDIR/usr/local/tomcat/native-jni-lib
TOMCAT_SHA512e77b47d7ded86da81018d38c4f728f5f804c1a65bb941a138a7989b69c859031e88d113ccf4fc3a409062ee24511fa5ccf15dfad333f570838ee2a36dae23e19
TOMCAT_VERSION9.0.90
[#000] sha256:2936210a619ec662b53521cc3dd41798a491971a48e14f14ebb594e81dc798b0 - 26.32% (61.6 MB)
[#001] sha256:4656569e1791b9a2fca54650735b260b09155d4ae7d843f41c8223a93b62836e - 66.75% (156 MB)
[#002] sha256:df9f0d8c4007a595f418729f3305cafd48b71ee96af8f87200a10436150197f3 - 0.0% (139 Bytes)
[#003] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#004] sha256:934a3d585e80c205b492db6edf3f9a6a4218a564b3c59bc1855e72cc0f9bb2fc - 6.92% (16.2 MB)
[#005] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
/bin/sh -c #(nop) COPY dir:36542351efcfebe46f7ccbf0def8f62c4d1fc618b41a02b6d9df97e06c5cf74a in /
2024-04-16 21:21:40 UTC/bin/sh -c #(nop) CMD ["/bin/bash"]
2024-04-16 21:21:40 UTC (buildkit.dockerfile.v0)ARG version=21.0.3.9-1
2024-04-16 21:21:40 UTC (buildkit.dockerfile.v0)RUN |1 version=21.0.3.9-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-04-16 21:21:40 UTC (buildkit.dockerfile.v0)ENV LANG=C.UTF-8
2024-04-16 21:21:40 UTC (buildkit.dockerfile.v0)ENV JAVA_HOME=/usr/lib/jvm/java-21-amazon-corretto
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV CATALINA_HOME=/usr/local/tomcat
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p "$CATALINA_HOME" # buildkit
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)WORKDIR /usr/local/tomcat
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=48F8E69F6390C9F25CFEDCD268248959359E722B A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV TOMCAT_MAJOR=9
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV TOMCAT_VERSION=9.0.90
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)ENV TOMCAT_SHA512=e77b47d7ded86da81018d38c4f728f5f804c1a65bb941a138a7989b69c859031e88d113ccf4fc3a409062ee24511fa5ccf15dfad333f570838ee2a36dae23e19
2024-06-19 14:03:42 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-06-19 14:03:42 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-06-19 14:03:42 UTC (buildkit.dockerfile.v0)EXPOSE map[8080/tcp:{}]
2024-06-19 14:03:42 UTC (buildkit.dockerfile.v0)CMD ["catalina.sh" "run"]
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.