Namespace
library
Image / Tag
maven:3.9.12-ibm-semeru-25-noble
Content Digest
sha256:9ed4a8aa688ac2b2a9c65831c59072dc905095fc84f398d5fb172466778b591e
Details
Created

2026-03-03 21:08:13 UTC

Size

314 MB

Content Digest
Labels
  • org.opencontainers.image.description
    Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.source
    https://github.com/carlossg/docker-maven
  • org.opencontainers.image.title
    Apache Maven
  • org.opencontainers.image.url
    https://github.com/carlossg/docker-maven
  • org.opencontainers.image.version
    24.04

Environment
JAVA_HOME

/opt/java/openjdk

JAVA_TOOL_OPTIONS

-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal

JAVA_VERSION

jdk-25.0.2+10.1_openj9-0.57.0

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

MAVEN_CONFIG

/root/.m2

MAVEN_HOME

/usr/share/maven

PATH

/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


Layers

[#000] sha256:01d7766a2e4a62b74e0bebf2cd12c47e675e9221174f6570854203e84ffe68b0 - 9.03% (28.4 MB)

[#001] sha256:6fe35cb3b406ebb2f2dddb97f83187368f2b721710265a6bfcd06fbb53e59c8c - 3.89% (12.2 MB)

[#002] sha256:6e2bc9d444232c3a5d6244c29d10db667f8dc0e3e39bfcff3e9436bc2b28f363 - 75.36% (237 MB)

[#003] sha256:a099ab8880ddee03ffdc56f912049abb66b0da7294b77b148c2ae2176d6e5d91 - 2.04% (6.4 MB)

[#004] sha256:98233230ea2312de2f569d43bfa14fa6e3595cbe16d15838f28575fc44061e59 - 6.85% (21.5 MB)

[#005] sha256:b89cc3ecb6d3f328ca75f149ff1f66a52c506cd2e973ec4d509a6cc4a1e048dd - 2.83% (8.88 MB)

[#006] sha256:bfe3b0f5ca6a63cf85e4bc228af656a3956dca940e3fd7400f43ddba92c81c19 - 0.0% (850 Bytes)

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

[#008] sha256:9ae41f6f5cd652a57dde468a0a6200e526e1b183b7004074323c0c5f4ff8037e - 0.0% (155 Bytes)


History
2026-02-10 16:49:54 UTC

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

2026-02-10 16:49:54 UTC

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

2026-02-10 16:49:54 UTC

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

2026-02-10 16:49:54 UTC

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

2026-02-10 16:49:56 UTC

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

2026-02-10 16:49:57 UTC

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

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

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

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

RUN /bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig 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-03 20:15:48 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-25.0.2+10.1_openj9-0.57.0

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

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='08fe20fbcb5c5ad8d9f32ce4c9aaa42388aeea30b2f16dcb4d28acd50df99375'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_aarch64_linux_25.0.2.1.tar.gz'; ;; amd64|x86_64) ESUM='eda3cce037d291e78ea4228e50b1a6b79e9e95cf6cfabc939305c1b25042509e'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_x64_linux_25.0.2.1.tar.gz'; ;; ppc64el|ppc64le) ESUM='de8401f40bfc667174ecc02fbcb51dbf85e476d4542684210659f51231dbaa4b'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_ppc64le_linux_25.0.2.1.tar.gz'; ;; s390x) ESUM='45333a107e8364b10cf1b924ae8efd5ff202ad7a376417fb2cb33bbdecb606b5'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_s390x_linux_25.0.2.1.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p /opt/java/openjdk; cd /opt/java/openjdk; tar -xf /tmp/openjdk.tar.gz --strip-components=1; rm -rf /tmp/openjdk.tar.gz; # buildkit

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

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

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

ENV JAVA_TOOL_OPTIONS=-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal

2026-03-03 20:16:58 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; unset OPENJ9_JAVA_OPTIONS; SCC_SIZE="50m"; DOWNLOAD_PATH_TOMCAT=/tmp/tomcat; INSTALL_PATH_TOMCAT=/opt/tomcat-home; export CATALINA_PID=/opt/tomcat-home/tomcat.pid; TOMCAT_CHECKSUM="8e6fa92883c161523269560a7dc9e8d58fd1199b29c630f681aa3ec2975b59d94674d2881331076b55f5ee0439748931d87c099c79d7bcea909303739e612e4b"; TOMCAT_VERSION="9.0.115"; TOMCAT_FILENAME="apache-tomcat-${TOMCAT_VERSION}.tar.gz"; SUCCESS=; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; for baseUrl in https://dlcdn.apache.org/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin https://archive.apache.org/dist/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin ; do if curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${baseUrl}/${TOMCAT_FILENAME}" && [ -s "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz ]; then SUCCESS=1; break; fi; done; [ -n "$SUCCESS" ]; echo "${TOMCAT_CHECKSUM} ${DOWNLOAD_PATH_TOMCAT}/tomcat.tar.gz" | sha512sum -c -; tar -xf "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz -C "${INSTALL_PATH_TOMCAT}" --strip-components=1; rm -rf "${DOWNLOAD_PATH_TOMCAT}"; java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 20; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 15; FULL=$( (java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); DST_CACHE=$(java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,destroy 2>&1 || true); SCC_SIZE=$(echo $SCC_SIZE | sed 's/.$//'); SCC_SIZE=$(awk "BEGIN {print int($SCC_SIZE * $FULL / 100.0)}"); [ "${SCC_SIZE}" -eq 0 ] && SCC_SIZE=1; SCC_SIZE="${SCC_SIZE}m"; java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; unset OPENJ9_JAVA_OPTIONS; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 20; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 5; FULL=$( (java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); echo "SCC layer is $FULL% full."; rm -rf "${INSTALL_PATH_TOMCAT}"; unset CATALINA_PID; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit

2026-03-03 20:16:58 UTC (buildkit.dockerfile.v0)

CMD ["jshell"]

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

RUN /bin/sh -c apt-get update && apt-get install -y git openssh-client --no-install-recommends && rm -rf /var/lib/apt/lists/* # buildkit

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

LABEL org.opencontainers.image.title=Apache Maven

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

LABEL org.opencontainers.image.source=https://github.com/carlossg/docker-maven

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

LABEL org.opencontainers.image.url=https://github.com/carlossg/docker-maven

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

LABEL org.opencontainers.image.description=Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

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

ENV MAVEN_HOME=/usr/share/maven

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

COPY /usr/share/maven /usr/share/maven # buildkit

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

COPY /usr/local/bin/mvn-entrypoint.sh /usr/local/bin/mvn-entrypoint.sh # buildkit

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

COPY /usr/share/maven/ref/settings-docker.xml /usr/share/maven/ref/settings-docker.xml # buildkit

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

RUN /bin/sh -c ln -s ${MAVEN_HOME}/bin/mvn /usr/bin/mvn # buildkit

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

ARG MAVEN_VERSION=3.9.12

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

ARG USER_HOME_DIR=/root

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

ENV MAVEN_CONFIG=/root/.m2

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

ENTRYPOINT ["/usr/local/bin/mvn-entrypoint.sh"]

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

CMD ["mvn"]

Details
Created

2026-03-03 21:06:15 UTC

Size

309 MB

Content Digest
Labels
  • org.opencontainers.image.description
    Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.source
    https://github.com/carlossg/docker-maven
  • org.opencontainers.image.title
    Apache Maven
  • org.opencontainers.image.url
    https://github.com/carlossg/docker-maven
  • org.opencontainers.image.version
    24.04

Environment
JAVA_HOME

/opt/java/openjdk

JAVA_TOOL_OPTIONS

-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal

JAVA_VERSION

jdk-25.0.2+10.1_openj9-0.57.0

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

MAVEN_CONFIG

/root/.m2

MAVEN_HOME

/usr/share/maven

PATH

/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


Layers

[#000] sha256:66a4bbbfab887561d75f1fdb3c6221c974346f82c9229f5ef99f96b7e6c25704 - 8.9% (27.5 MB)

[#001] sha256:6bf958cec315f43332197d89f2bada6b0d3ff028b451507fa08d320fc3d5bdfc - 3.96% (12.2 MB)

[#002] sha256:3f9a7eaba2cea081c4e68238f65d0660800c7692b4ad2075b46c9027133dc8b1 - 75.31% (233 MB)

[#003] sha256:c3d67e20d0a6add96e73ecb2d4a713e0812b7fb84247474a2cd6a332297d6442 - 1.99% (6.16 MB)

[#004] sha256:206334dadd95f299dff9300be14d448dfbbdfb2e235a6549856e1f5d828b3f72 - 6.98% (21.6 MB)

[#005] sha256:ed286f146632fcc063795372919c5196d90464b360e411295aaea4d76c20d9d7 - 2.87% (8.88 MB)

[#006] sha256:d358b35ba265b7d5e5f221f13efbcec067c16819a7049598be216c49062aa10a - 0.0% (853 Bytes)

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

[#008] sha256:c47b6de408dfac3f2bbfe0582c23e4f390077651b229bd9a6f3e1ca4c72587d5 - 0.0% (155 Bytes)


History
2026-02-10 16:52:26 UTC

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

2026-02-10 16:52:26 UTC

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

2026-02-10 16:52:27 UTC

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

2026-02-10 16:52:27 UTC

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

2026-02-10 16:52:29 UTC

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

2026-02-10 16:52:29 UTC

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

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

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

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

RUN /bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig 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-03 20:15:32 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-25.0.2+10.1_openj9-0.57.0

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

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='08fe20fbcb5c5ad8d9f32ce4c9aaa42388aeea30b2f16dcb4d28acd50df99375'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_aarch64_linux_25.0.2.1.tar.gz'; ;; amd64|x86_64) ESUM='eda3cce037d291e78ea4228e50b1a6b79e9e95cf6cfabc939305c1b25042509e'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_x64_linux_25.0.2.1.tar.gz'; ;; ppc64el|ppc64le) ESUM='de8401f40bfc667174ecc02fbcb51dbf85e476d4542684210659f51231dbaa4b'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_ppc64le_linux_25.0.2.1.tar.gz'; ;; s390x) ESUM='45333a107e8364b10cf1b924ae8efd5ff202ad7a376417fb2cb33bbdecb606b5'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_s390x_linux_25.0.2.1.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p /opt/java/openjdk; cd /opt/java/openjdk; tar -xf /tmp/openjdk.tar.gz --strip-components=1; rm -rf /tmp/openjdk.tar.gz; # buildkit

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

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

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

ENV JAVA_TOOL_OPTIONS=-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal

2026-03-03 20:16:42 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; unset OPENJ9_JAVA_OPTIONS; SCC_SIZE="50m"; DOWNLOAD_PATH_TOMCAT=/tmp/tomcat; INSTALL_PATH_TOMCAT=/opt/tomcat-home; export CATALINA_PID=/opt/tomcat-home/tomcat.pid; TOMCAT_CHECKSUM="8e6fa92883c161523269560a7dc9e8d58fd1199b29c630f681aa3ec2975b59d94674d2881331076b55f5ee0439748931d87c099c79d7bcea909303739e612e4b"; TOMCAT_VERSION="9.0.115"; TOMCAT_FILENAME="apache-tomcat-${TOMCAT_VERSION}.tar.gz"; SUCCESS=; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; for baseUrl in https://dlcdn.apache.org/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin https://archive.apache.org/dist/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin ; do if curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${baseUrl}/${TOMCAT_FILENAME}" && [ -s "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz ]; then SUCCESS=1; break; fi; done; [ -n "$SUCCESS" ]; echo "${TOMCAT_CHECKSUM} ${DOWNLOAD_PATH_TOMCAT}/tomcat.tar.gz" | sha512sum -c -; tar -xf "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz -C "${INSTALL_PATH_TOMCAT}" --strip-components=1; rm -rf "${DOWNLOAD_PATH_TOMCAT}"; java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 20; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 15; FULL=$( (java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); DST_CACHE=$(java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,destroy 2>&1 || true); SCC_SIZE=$(echo $SCC_SIZE | sed 's/.$//'); SCC_SIZE=$(awk "BEGIN {print int($SCC_SIZE * $FULL / 100.0)}"); [ "${SCC_SIZE}" -eq 0 ] && SCC_SIZE=1; SCC_SIZE="${SCC_SIZE}m"; java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; unset OPENJ9_JAVA_OPTIONS; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 20; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 5; FULL=$( (java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); echo "SCC layer is $FULL% full."; rm -rf "${INSTALL_PATH_TOMCAT}"; unset CATALINA_PID; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit

2026-03-03 20:16:42 UTC (buildkit.dockerfile.v0)

CMD ["jshell"]

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

RUN /bin/sh -c apt-get update && apt-get install -y git openssh-client --no-install-recommends && rm -rf /var/lib/apt/lists/* # buildkit

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

LABEL org.opencontainers.image.title=Apache Maven

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

LABEL org.opencontainers.image.source=https://github.com/carlossg/docker-maven

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

LABEL org.opencontainers.image.url=https://github.com/carlossg/docker-maven

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

LABEL org.opencontainers.image.description=Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

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

ENV MAVEN_HOME=/usr/share/maven

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

COPY /usr/share/maven /usr/share/maven # buildkit

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

COPY /usr/local/bin/mvn-entrypoint.sh /usr/local/bin/mvn-entrypoint.sh # buildkit

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

COPY /usr/share/maven/ref/settings-docker.xml /usr/share/maven/ref/settings-docker.xml # buildkit

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

RUN /bin/sh -c ln -s ${MAVEN_HOME}/bin/mvn /usr/bin/mvn # buildkit

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

ARG MAVEN_VERSION=3.9.12

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

ARG USER_HOME_DIR=/root

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

ENV MAVEN_CONFIG=/root/.m2

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

ENTRYPOINT ["/usr/local/bin/mvn-entrypoint.sh"]

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

CMD ["mvn"]

Details
Created

2026-03-03 23:01:17 UTC

Size

326 MB

Content Digest
Labels
  • org.opencontainers.image.description
    Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.source
    https://github.com/carlossg/docker-maven
  • org.opencontainers.image.title
    Apache Maven
  • org.opencontainers.image.url
    https://github.com/carlossg/docker-maven
  • org.opencontainers.image.version
    24.04

Environment
JAVA_HOME

/opt/java/openjdk

JAVA_TOOL_OPTIONS

-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal

JAVA_VERSION

jdk-25.0.2+10.1_openj9-0.57.0

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

MAVEN_CONFIG

/root/.m2

MAVEN_HOME

/usr/share/maven

PATH

/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


Layers

[#000] sha256:de86bbb8cdc5c52dc9167f3fab22b2f39424ccbfd06ab6c7b34bb3456cf0ad43 - 10.03% (32.7 MB)

[#001] sha256:17bc74705b5205a118b6fdfc67d17a8b658c02f7792610bbbab1a9a9579b5bc8 - 4.04% (13.2 MB)

[#002] sha256:add3730c07d038f2ca6fd81a75415454e5a1fe7b3b2c292f9a9b967fa3a4568e - 73.62% (240 MB)

[#003] sha256:eaf2edfac357d712ede88c201ad46ec5768ccbade079e558110db652d9e32683 - 1.6% (5.23 MB)

[#004] sha256:6d5d49efd960d42f4cf11edfadf785747831feeed4bacc25914bcebaa7f0e339 - 7.98% (26 MB)

[#005] sha256:11e31803e3577f0507c4469545ee4507355a862af4c95604d3754e79d20a962f - 2.72% (8.88 MB)

[#006] sha256:3433a99fa6df2b2b030ec9d1d991008750588dd5f32cee8723dcc87a29dfd82b - 0.0% (851 Bytes)

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

[#008] sha256:a2397476396102ef6ff2c0584fbed091b9a8fca6b4f5cc496d879da25e05e264 - 0.0% (156 Bytes)


History
2026-02-10 16:50:31 UTC

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

2026-02-10 16:50:31 UTC

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

2026-02-10 16:50:31 UTC

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

2026-02-10 16:50:31 UTC

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

2026-02-10 16:50:35 UTC

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

2026-02-10 16:50:35 UTC

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

2026-02-17 20:28:56 UTC (buildkit.dockerfile.v0)

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

2026-02-17 20:28:56 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig 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-02-17 20:28:56 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-25.0.2+10.1_openj9-0.57.0

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

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='08fe20fbcb5c5ad8d9f32ce4c9aaa42388aeea30b2f16dcb4d28acd50df99375'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_aarch64_linux_25.0.2.1.tar.gz'; ;; amd64|x86_64) ESUM='eda3cce037d291e78ea4228e50b1a6b79e9e95cf6cfabc939305c1b25042509e'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_x64_linux_25.0.2.1.tar.gz'; ;; ppc64el|ppc64le) ESUM='de8401f40bfc667174ecc02fbcb51dbf85e476d4542684210659f51231dbaa4b'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_ppc64le_linux_25.0.2.1.tar.gz'; ;; s390x) ESUM='45333a107e8364b10cf1b924ae8efd5ff202ad7a376417fb2cb33bbdecb606b5'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_s390x_linux_25.0.2.1.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p /opt/java/openjdk; cd /opt/java/openjdk; tar -xf /tmp/openjdk.tar.gz --strip-components=1; rm -rf /tmp/openjdk.tar.gz; # buildkit

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

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

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

ENV JAVA_TOOL_OPTIONS=-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal

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

RUN /bin/sh -c set -eux; unset OPENJ9_JAVA_OPTIONS; SCC_SIZE="50m"; DOWNLOAD_PATH_TOMCAT=/tmp/tomcat; INSTALL_PATH_TOMCAT=/opt/tomcat-home; export CATALINA_PID=/opt/tomcat-home/tomcat.pid; TOMCAT_CHECKSUM="8e6fa92883c161523269560a7dc9e8d58fd1199b29c630f681aa3ec2975b59d94674d2881331076b55f5ee0439748931d87c099c79d7bcea909303739e612e4b"; TOMCAT_VERSION="9.0.115"; TOMCAT_FILENAME="apache-tomcat-${TOMCAT_VERSION}.tar.gz"; SUCCESS=; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; for baseUrl in https://dlcdn.apache.org/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin https://archive.apache.org/dist/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin ; do if curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${baseUrl}/${TOMCAT_FILENAME}" && [ -s "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz ]; then SUCCESS=1; break; fi; done; [ -n "$SUCCESS" ]; echo "${TOMCAT_CHECKSUM} ${DOWNLOAD_PATH_TOMCAT}/tomcat.tar.gz" | sha512sum -c -; tar -xf "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz -C "${INSTALL_PATH_TOMCAT}" --strip-components=1; rm -rf "${DOWNLOAD_PATH_TOMCAT}"; java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 20; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 15; FULL=$( (java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); DST_CACHE=$(java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,destroy 2>&1 || true); SCC_SIZE=$(echo $SCC_SIZE | sed 's/.$//'); SCC_SIZE=$(awk "BEGIN {print int($SCC_SIZE * $FULL / 100.0)}"); [ "${SCC_SIZE}" -eq 0 ] && SCC_SIZE=1; SCC_SIZE="${SCC_SIZE}m"; java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; unset OPENJ9_JAVA_OPTIONS; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 20; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 5; FULL=$( (java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); echo "SCC layer is $FULL% full."; rm -rf "${INSTALL_PATH_TOMCAT}"; unset CATALINA_PID; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit

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

CMD ["jshell"]

2026-03-03 23:01:16 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y git openssh-client --no-install-recommends && rm -rf /var/lib/apt/lists/* # buildkit

2026-03-03 23:01:16 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=Apache Maven

2026-03-03 23:01:16 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/carlossg/docker-maven

2026-03-03 23:01:16 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.url=https://github.com/carlossg/docker-maven

2026-03-03 23:01:16 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.description=Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

2026-03-03 23:01:16 UTC (buildkit.dockerfile.v0)

ENV MAVEN_HOME=/usr/share/maven

2026-03-03 23:01:16 UTC (buildkit.dockerfile.v0)

COPY /usr/share/maven /usr/share/maven # buildkit

2026-03-03 23:01:16 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/mvn-entrypoint.sh /usr/local/bin/mvn-entrypoint.sh # buildkit

2026-03-03 23:01:16 UTC (buildkit.dockerfile.v0)

COPY /usr/share/maven/ref/settings-docker.xml /usr/share/maven/ref/settings-docker.xml # buildkit

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

RUN /bin/sh -c ln -s ${MAVEN_HOME}/bin/mvn /usr/bin/mvn # buildkit

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

ARG MAVEN_VERSION=3.9.12

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

ARG USER_HOME_DIR=/root

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

ENV MAVEN_CONFIG=/root/.m2

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

ENTRYPOINT ["/usr/local/bin/mvn-entrypoint.sh"]

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

CMD ["mvn"]

Details
Created

2026-03-03 22:25:08 UTC

Size

314 MB

Content Digest
Labels
  • org.opencontainers.image.description
    Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.source
    https://github.com/carlossg/docker-maven
  • org.opencontainers.image.title
    Apache Maven
  • org.opencontainers.image.url
    https://github.com/carlossg/docker-maven
  • org.opencontainers.image.version
    24.04

Environment
JAVA_HOME

/opt/java/openjdk

JAVA_TOOL_OPTIONS

-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal

JAVA_VERSION

jdk-25.0.2+10.1_openj9-0.57.0

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

MAVEN_CONFIG

/root/.m2

MAVEN_HOME

/usr/share/maven

PATH

/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


Layers

[#000] sha256:8b6ba492713239cba0554ce53d24405e1285684fa64bcfb05df4af8037ba5836 - 9.1% (28.5 MB)

[#001] sha256:8b2ce3b2a70015000a5b0ceaa4885f1aceec67cb23d3ef542311e0f5506c39b0 - 3.99% (12.5 MB)

[#002] sha256:2610811f255ff0be51a5973db5ea00d84d7c1cbb173194ed46f4b5e678033764 - 74.58% (234 MB)

[#003] sha256:9bf6477e4e3f402ec54bac7404373d4c4ead85182fb25eaf955a8a409e03a144 - 2.12% (6.65 MB)

[#004] sha256:c5f2e746a023938c3e32d4eefbb2bc9d0273b463fc884d5103fd45f8f5e70e84 - 7.39% (23.2 MB)

[#005] sha256:927923effd8d558166c7486a4f89b20171d44382f182a1d38043f024717f29c4 - 2.83% (8.88 MB)

[#006] sha256:578d30e67ee50ec7291be4a51de476b0ddf766ed803917ea9f6727044cdcffb5 - 0.0% (853 Bytes)

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

[#008] sha256:ea6fa3bbc7686a757a3b0aa4b6a630b3a0b3f97685fe1596e88a5d9a0cb4e787 - 0.0% (155 Bytes)


History
2026-02-10 16:50:51 UTC

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

2026-02-10 16:50:51 UTC

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

2026-02-10 16:50:51 UTC

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

2026-02-10 16:50:51 UTC

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

2026-02-10 16:50:52 UTC

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

2026-02-10 16:50:52 UTC

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

2026-02-17 20:17:22 UTC (buildkit.dockerfile.v0)

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

2026-02-17 20:17:22 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig 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-02-17 20:17:22 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-25.0.2+10.1_openj9-0.57.0

2026-03-03 21:29:34 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='08fe20fbcb5c5ad8d9f32ce4c9aaa42388aeea30b2f16dcb4d28acd50df99375'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_aarch64_linux_25.0.2.1.tar.gz'; ;; amd64|x86_64) ESUM='eda3cce037d291e78ea4228e50b1a6b79e9e95cf6cfabc939305c1b25042509e'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_x64_linux_25.0.2.1.tar.gz'; ;; ppc64el|ppc64le) ESUM='de8401f40bfc667174ecc02fbcb51dbf85e476d4542684210659f51231dbaa4b'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_ppc64le_linux_25.0.2.1.tar.gz'; ;; s390x) ESUM='45333a107e8364b10cf1b924ae8efd5ff202ad7a376417fb2cb33bbdecb606b5'; BINARY_URL='https://github.com/ibmruntimes/semeru25-binaries/releases/download/jdk-25.0.2+10.1_openj9-0.57.0/ibm-semeru-open-jdk_s390x_linux_25.0.2.1.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p /opt/java/openjdk; cd /opt/java/openjdk; tar -xf /tmp/openjdk.tar.gz --strip-components=1; rm -rf /tmp/openjdk.tar.gz; # buildkit

2026-03-03 21:29:34 UTC (buildkit.dockerfile.v0)

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

2026-03-03 21:29:34 UTC (buildkit.dockerfile.v0)

ENV JAVA_TOOL_OPTIONS=-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal

2026-03-03 21:30:39 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; unset OPENJ9_JAVA_OPTIONS; SCC_SIZE="50m"; DOWNLOAD_PATH_TOMCAT=/tmp/tomcat; INSTALL_PATH_TOMCAT=/opt/tomcat-home; export CATALINA_PID=/opt/tomcat-home/tomcat.pid; TOMCAT_CHECKSUM="8e6fa92883c161523269560a7dc9e8d58fd1199b29c630f681aa3ec2975b59d94674d2881331076b55f5ee0439748931d87c099c79d7bcea909303739e612e4b"; TOMCAT_VERSION="9.0.115"; TOMCAT_FILENAME="apache-tomcat-${TOMCAT_VERSION}.tar.gz"; SUCCESS=; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; for baseUrl in https://dlcdn.apache.org/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin https://archive.apache.org/dist/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin ; do if curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${baseUrl}/${TOMCAT_FILENAME}" && [ -s "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz ]; then SUCCESS=1; break; fi; done; [ -n "$SUCCESS" ]; echo "${TOMCAT_CHECKSUM} ${DOWNLOAD_PATH_TOMCAT}/tomcat.tar.gz" | sha512sum -c -; tar -xf "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz -C "${INSTALL_PATH_TOMCAT}" --strip-components=1; rm -rf "${DOWNLOAD_PATH_TOMCAT}"; java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 20; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 15; FULL=$( (java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); DST_CACHE=$(java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,destroy 2>&1 || true); SCC_SIZE=$(echo $SCC_SIZE | sed 's/.$//'); SCC_SIZE=$(awk "BEGIN {print int($SCC_SIZE * $FULL / 100.0)}"); [ "${SCC_SIZE}" -eq 0 ] && SCC_SIZE=1; SCC_SIZE="${SCC_SIZE}m"; java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; unset OPENJ9_JAVA_OPTIONS; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 20; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 5; FULL=$( (java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); echo "SCC layer is $FULL% full."; rm -rf "${INSTALL_PATH_TOMCAT}"; unset CATALINA_PID; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit

2026-03-03 21:30:39 UTC (buildkit.dockerfile.v0)

CMD ["jshell"]

2026-03-03 22:25:07 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y git openssh-client --no-install-recommends && rm -rf /var/lib/apt/lists/* # buildkit

2026-03-03 22:25:07 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=Apache Maven

2026-03-03 22:25:07 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/carlossg/docker-maven

2026-03-03 22:25:07 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.url=https://github.com/carlossg/docker-maven

2026-03-03 22:25:07 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.description=Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

2026-03-03 22:25:07 UTC (buildkit.dockerfile.v0)

ENV MAVEN_HOME=/usr/share/maven

2026-03-03 22:25:07 UTC (buildkit.dockerfile.v0)

COPY /usr/share/maven /usr/share/maven # buildkit

2026-03-03 22:25:08 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/mvn-entrypoint.sh /usr/local/bin/mvn-entrypoint.sh # buildkit

2026-03-03 22:25:08 UTC (buildkit.dockerfile.v0)

COPY /usr/share/maven/ref/settings-docker.xml /usr/share/maven/ref/settings-docker.xml # buildkit

2026-03-03 22:25:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -s ${MAVEN_HOME}/bin/mvn /usr/bin/mvn # buildkit

2026-03-03 22:25:08 UTC (buildkit.dockerfile.v0)

ARG MAVEN_VERSION=3.9.12

2026-03-03 22:25:08 UTC (buildkit.dockerfile.v0)

ARG USER_HOME_DIR=/root

2026-03-03 22:25:08 UTC (buildkit.dockerfile.v0)

ENV MAVEN_CONFIG=/root/.m2

2026-03-03 22:25:08 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/local/bin/mvn-entrypoint.sh"]

2026-03-03 22:25:08 UTC (buildkit.dockerfile.v0)

CMD ["mvn"]