Namespace
library
Image / Tag
geonetwork:3
Content Digest
sha256:f7d4abd6aa5303a11d4db7187a2d2c1885cc39ab864341fdd46ebf5712333f8a
Pull command
Details
Created

2025-11-14 01:40:03 UTC

Size

335 MB

Content Digest
Labels
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.version
    24.04

Environment
CATALINA_HOME

/usr/local/tomcat

DATA_DIR

/usr/local/tomcat/webapps/geonetwork/WEB-INF/data

GN_DOWNLOAD_MD5

c9d2a15f5cecbd31fa6697c3f52f0180

GN_FILE

geonetwork.war

GN_VERSION

3.12.12

JAVA_HOME

/opt/java/openjdk

JAVA_OPTS

-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -server -Xms512m -Xmx2024m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:+UseConcMarkSweepGC

JAVA_VERSION

jdk8u472-b08

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

LD_LIBRARY_PATH

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

PATH

/usr/local/tomcat/bin:/opt/java/openjdk/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

fc55589f28bf6659928167461c741649b6005b64285dd81df05bb5ee40f4c6de59b8ee3af84ff756ae1513fc47f5f73070e29313b555e27f096f25881c69841d

TOMCAT_VERSION

9.0.112


Layers

[#000] sha256:02de03a7213b62b792ec66a7efb8c86c4117ca00fb8651facf8ecfe33044b485 - 8.72% (29.2 MB)

[#001] sha256:96eba8d813d11c16d17e5c34faf681d41f2083b9d8b30314e2abc1cf3569c5ec - 4.84% (16.2 MB)

[#002] sha256:ca6f3a28d2a8da9d4c8d596570ff4420de92d0302ae21447bc5f78ee7d215a83 - 15.6% (52.2 MB)

[#003] sha256:28c77b9702bc327d136db3639575211dbc6ad6694c25b81d9a96c92d83975eaa - 0.0% (128 Bytes)

[#004] sha256:a37f3856f383500a86c184315659cedbf1821d5d0aad18b4df87052a349cd0cf - 0.0% (2.25 KB)

[#005] sha256:623000bcac8ce0030fa07955b731e9dae8856b4977c07bd405bc437a7b5f2736 - 0.0% (139 Bytes)

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

[#007] sha256:250a19470f296d5bafa24c2a9a7cd2d0cca53c10eca747f36da3789622a4aca1 - 3.98% (13.3 MB)

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

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

[#010] sha256:c310f2b9e459945c9fc585f453ad9d1b05b5d8481eb62a57ac38d6394282e067 - 66.86% (224 MB)

[#011] sha256:6bafb05b81a81efaa4b874e1e7b7a82428f9fc0792468fbb7e905215e878dcc3 - 0.0% (249 Bytes)

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


History
2025-10-16 19:23:01 UTC

/bin/sh -c #(nop) ARG RELEASE

2025-10-16 19:23:01 UTC

/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH

2025-10-16 19:23:01 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu

2025-10-16 19:23:01 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04

2025-10-16 19:23:03 UTC

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

2025-10-16 19:23:03 UTC

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

2025-11-13 23:20:45 UTC (buildkit.dockerfile.v0)

ENV JAVA_HOME=/opt/java/openjdk

2025-11-13 23:20:45 UTC (buildkit.dockerfile.v0)

ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-11-13 23:20:45 UTC (buildkit.dockerfile.v0)

ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8

2025-11-13 23:20:45 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl wget gnupg fontconfig ca-certificates p11-kit tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit

2025-11-13 23:20:45 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk8u472-b08

2025-11-13 23:20:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='5becaa4ac660e844c5a39e2ebc39ff5ac824c37ff1b625af8c8b111dc13c3592'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u472-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u472b08.tar.gz'; ;; arm64) ESUM='e2aff19d85d2441e409d6cbdf12ef7c2acabb0de73bca4207947135dcaa935a2'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u472-b08/OpenJDK8U-jdk_aarch64_linux_hotspot_8u472b08.tar.gz'; ;; armhf) ESUM='184d3f914f1e41476449043382cb81bd8086214acef7353ed1b456b49b8ac9eb'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u472-b08/OpenJDK8U-jdk_arm_linux_hotspot_8u472b08.tar.gz'; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libatomic1; rm -rf /var/lib/apt/lists/*; ;; ppc64el) ESUM='eaf57a4564265583b0641c878bea8943d27ef110c096868f686dae179fb45d8f'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u472-b08/OpenJDK8U-jdk_ppc64le_linux_hotspot_8u472b08.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz ${JAVA_HOME}/src.zip; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; # buildkit

2025-11-13 23:20:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; echo "Verifying install ..."; echo "javac -version"; javac -version; echo "java -version"; java -version; echo "Complete." # buildkit

2025-11-13 23:20:48 UTC (buildkit.dockerfile.v0)

COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit

2025-11-13 23:20:48 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/__cacert_entrypoint.sh"]

2025-11-14 00:43:32 UTC (buildkit.dockerfile.v0)

ENV CATALINA_HOME=/usr/local/tomcat

2025-11-14 00:43:32 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/tomcat/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-11-14 00:43:32 UTC (buildkit.dockerfile.v0)

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

2025-11-14 00:43:32 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat

2025-11-14 00:43:32 UTC (buildkit.dockerfile.v0)

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

2025-11-14 00:43:32 UTC (buildkit.dockerfile.v0)

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

2025-11-14 00:43:32 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_MAJOR=9

2025-11-14 00:43:32 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_VERSION=9.0.112

2025-11-14 00:43:32 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_SHA512=fc55589f28bf6659928167461c741649b6005b64285dd81df05bb5ee40f4c6de59b8ee3af84ff756ae1513fc47f5f73070e29313b555e27f096f25881c69841d

2025-11-14 00:43:58 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg ; 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"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; curl -fL -o upstream-KEYS 'https://www.apache.org/dist/tomcat/tomcat-9/KEYS'; gpg --batch --import upstream-KEYS; printf '' > filtered-KEYS; for key in 'DCFD35E0BF8CA7344752DE8B6FB21E8933C60243' 'A9C5DF4D22E99998D9875A5110C01C5A2F6059E7' '48F8E69F6390C9F25CFEDCD268248959359E722B' ; do gpg --batch --fingerprint "$key"; gpg --batch --export --armor "$key" >> filtered-KEYS; done; gpgconf --kill all; rm -rf "$GNUPGHOME"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --import filtered-KEYS; 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*; gpgconf --kill all; rm -rf "$GNUPGHOME"; mv webapps webapps.dist; mkdir webapps; nativeBuildDir="$(mktemp -d)"; tar -xf bin/tomcat-native.tar.gz -C "$nativeBuildDir" --strip-components=1; apt-get install -y --no-install-recommends dpkg-dev gcc libapr1-dev libssl-dev make ; ( export CATALINA_HOME="$PWD"; cd "$nativeBuildDir/native"; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; aprConfig="$(command -v apr-1-config)"; ./configure --build="$gnuArch" --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; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; find "$TOMCAT_NATIVE_LIBDIR" -type f -executable -exec ldd '{}' ';' | awk '/=>/ { print $(NF-1) }' | xargs -rt readlink -e | sort -u | xargs -rt dpkg-query --search | cut -d: -f1 | sort -u | tee "$TOMCAT_NATIVE_LIBDIR/.dependencies.txt" | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; 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

2025-11-14 00:43:59 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

2025-11-14 00:43:59 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-11-14 00:43:59 UTC (buildkit.dockerfile.v0)

ENTRYPOINT []

2025-11-14 00:43:59 UTC (buildkit.dockerfile.v0)

CMD ["catalina.sh" "run"]

2025-11-14 01:39:08 UTC (buildkit.dockerfile.v0)

ENV GN_FILE=geonetwork.war

2025-11-14 01:39:08 UTC (buildkit.dockerfile.v0)

ENV DATA_DIR=/usr/local/tomcat/webapps/geonetwork/WEB-INF/data

2025-11-14 01:39:08 UTC (buildkit.dockerfile.v0)

ENV JAVA_OPTS=-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -server -Xms512m -Xmx2024m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:+UseConcMarkSweepGC

2025-11-14 01:39:08 UTC (buildkit.dockerfile.v0)

ENV GN_VERSION=3.12.12

2025-11-14 01:39:08 UTC (buildkit.dockerfile.v0)

ENV GN_DOWNLOAD_MD5=c9d2a15f5cecbd31fa6697c3f52f0180

2025-11-14 01:39:08 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat/webapps

2025-11-14 01:40:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends unzip curl && rm -rf /var/lib/apt/lists/* && curl -fSL -o $GN_FILE https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/${GN_FILE}/download && echo "${GN_DOWNLOAD_MD5} *${GN_FILE}" | md5sum -c && mkdir -p geonetwork && unzip -e $GN_FILE -d geonetwork && rm $GN_FILE # buildkit

2025-11-14 01:40:03 UTC (buildkit.dockerfile.v0)

COPY ./docker-entrypoint.sh /entrypoint.sh # buildkit

2025-11-14 01:40:03 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat

2025-11-14 01:40:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2025-11-14 01:40:03 UTC (buildkit.dockerfile.v0)

CMD ["catalina.sh" "run"]