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

2026-03-20 21:03:13 UTC

Size

336 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

jdk8u482-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

a0992861f7615f0a79d372e84969a1bb48f603ef1687380d9a3579164dae7a1dea6b440e1bad27447f91a676528b2951634a0707616707f1df73cd27534ea5f9

TOMCAT_VERSION

9.0.116


Layers

[#000] sha256:18dbadc1f2f937d7ebdfa4481fb1f6f43b26e93f5bdc4cef3cef98d7f0ae77aa - 8.67% (29.2 MB)

[#001] sha256:9e0199c91718f70b5df11ccf029cf016f0a71459892d25a13377f2c9f73a9774 - 4.81% (16.2 MB)

[#002] sha256:fd3f0d6c6d56edc378c7429e0a7bbc02fedc7c3c059f487aa87dcd0b49ce4006 - 15.64% (52.6 MB)

[#003] sha256:00ce82191d4b5182445b328c94ca693406e2122619c1e6ba5762577b83e9d746 - 0.0% (128 Bytes)

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

[#005] sha256:bdf4d3d575d4a2c5b22e8e75ff54717a16f28b78fecc08408049995b97fbbbea - 0.0% (138 Bytes)

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

[#007] sha256:f00c086b5b902e03281bf87eb119b69a268f11b8cd4cef87ab7eb5d249500011 - 4.38% (14.7 MB)

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

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

[#010] sha256:df945443426765350836f631748da92346d6d1995f17698f5fe5a102ed2aeafc - 66.49% (224 MB)

[#011] sha256:0058bca38410e6aff316a2a15de0116608621dd383786396ae60bec5107a8da4 - 0.0% (250 Bytes)

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


History
2026-02-23 17:17:53 UTC

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

2026-02-23 17:17:53 UTC

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

2026-02-23 17:17:53 UTC

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

2026-02-23 17:17:53 UTC

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

2026-02-23 17:17:55 UTC

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

2026-02-23 17:17:56 UTC

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

2026-03-17 01:22:11 UTC (buildkit.dockerfile.v0)

ENV JAVA_HOME=/opt/java/openjdk

2026-03-17 01:22:11 UTC (buildkit.dockerfile.v0)

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

2026-03-17 01:22:11 UTC (buildkit.dockerfile.v0)

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

2026-03-17 01:22:11 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

2026-03-17 01:22:11 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk8u482-b08

2026-03-17 01:22:14 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='e74becad56b4cc01f1556a671e578d3788789f5257f9499f6fbed84e63a55ecf'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u482-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u482b08.tar.gz'; ;; arm64) ESUM='ada72fbf191fb287b4c1e54be372b64c40c27c2ffbfa01f880c92af11f4e7c94'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u482-b08/OpenJDK8U-jdk_aarch64_linux_hotspot_8u482b08.tar.gz'; ;; armhf) ESUM='1d0d16394e2fe637f9eb8e73e63ea6fe9ceee98337c0527aa058cee777ad638a'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u482-b08/OpenJDK8U-jdk_arm_linux_hotspot_8u482b08.tar.gz'; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libatomic1; rm -rf /var/lib/apt/lists/*; ;; ppc64el) ESUM='e77ba337c3ebb37fbef4961299f13fc4db87996ffd5470bdfb460cfc2ddb6053'; BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u482-b08/OpenJDK8U-jdk_ppc64le_linux_hotspot_8u482b08.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

2026-03-17 01:22:14 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

2026-03-17 01:22:14 UTC (buildkit.dockerfile.v0)

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

2026-03-17 01:22:14 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/__cacert_entrypoint.sh"]

2026-03-20 20:25:12 UTC (buildkit.dockerfile.v0)

ENV CATALINA_HOME=/usr/local/tomcat

2026-03-20 20:25:12 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

2026-03-20 20:25:12 UTC (buildkit.dockerfile.v0)

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

2026-03-20 20:25:12 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat

2026-03-20 20:25:12 UTC (buildkit.dockerfile.v0)

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

2026-03-20 20:25:12 UTC (buildkit.dockerfile.v0)

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

2026-03-20 20:25:12 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_MAJOR=9

2026-03-20 20:25:12 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_VERSION=9.0.116

2026-03-20 20:25:12 UTC (buildkit.dockerfile.v0)

ENV TOMCAT_SHA512=a0992861f7615f0a79d372e84969a1bb48f603ef1687380d9a3579164dae7a1dea6b440e1bad27447f91a676528b2951634a0707616707f1df73cd27534ea5f9

2026-03-20 20:25:45 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

2026-03-20 20:25:45 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

2026-03-20 20:25:45 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2026-03-20 20:25:45 UTC (buildkit.dockerfile.v0)

ENTRYPOINT []

2026-03-20 20:25:45 UTC (buildkit.dockerfile.v0)

CMD ["catalina.sh" "run"]

2026-03-20 21:02:15 UTC (buildkit.dockerfile.v0)

ENV GN_FILE=geonetwork.war

2026-03-20 21:02:15 UTC (buildkit.dockerfile.v0)

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

2026-03-20 21:02:15 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

2026-03-20 21:02:15 UTC (buildkit.dockerfile.v0)

ENV GN_VERSION=3.12.12

2026-03-20 21:02:15 UTC (buildkit.dockerfile.v0)

ENV GN_DOWNLOAD_MD5=c9d2a15f5cecbd31fa6697c3f52f0180

2026-03-20 21:02:15 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat/webapps

2026-03-20 21:03:12 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

2026-03-20 21:03:13 UTC (buildkit.dockerfile.v0)

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

2026-03-20 21:03:13 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/local/tomcat

2026-03-20 21:03:13 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/entrypoint.sh"]

2026-03-20 21:03:13 UTC (buildkit.dockerfile.v0)

CMD ["catalina.sh" "run"]