Namespace
library
Image / Tag
maven:3.9.11-ibm-semeru-17-noble
Content Digest
sha256:c2f277a91a06fac2b081f26cdf6fe3578b501d05f8ec6ae761b38c2f8832ee19
Details
Created

2025-12-01 23:50:38 UTC

Size

292 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-17.0.17+10_openj9-0.56.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:20043066d3d5c78b45520c5707319835ac7d1f3d7f0dded0138ea0897d6a3188 - 9.71% (28.3 MB)

[#001] sha256:526a5f2c52c2ea250a42e7f53d119ae1cae34250d91ff8d0b7b3e1564d41f9c8 - 4.18% (12.2 MB)

[#002] sha256:535a4ed09bf024f66a29d775942eaeffc67fbf0bc9d02d4d9f1111f195533c9e - 73.66% (215 MB)

[#003] sha256:005c1980ab9407e51dc70972539ee4e15f38bc458ba1076aa6256207b5497e3d - 2.07% (6.03 MB)

[#004] sha256:99e8caea1eefd6f81891584f7e42e5d72dd5816fc8c0f8c0acba55e8ccc488ad - 7.37% (21.5 MB)

[#005] sha256:63b7ce4534b8603be13e3bbe4cede17768baa827458d5277c155a09b82ec443d - 3.02% (8.81 MB)

[#006] sha256:aa83833c5d62abbe64de55b1d83a3e798e77cd572babf292b00b9d1e918b5746 - 0.0% (854 Bytes)

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

[#008] sha256:dff72f9c62f337b117366f7cf1a4be5e4677c6fb9e30390ad0b9da2a7e2e1182 - 0.0% (155 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-12-01 23:09:17 UTC (buildkit.dockerfile.v0)

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

2025-12-01 23:09:17 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

2025-12-01 23:09:17 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-17.0.17+10_openj9-0.56.0

2025-12-01 23:10:21 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='254dfceedcfa07faef415c701250093dfee5e7104bd9a6c42e384e54cecfa53a'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_aarch64_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; amd64|x86_64) ESUM='65b4d151e63554e708210af28ef53504327ba548cbe1ede1c95d79c2207985ed'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_x64_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='fde228977c7a1163c03a32ec7e79f9586c897b6ec5b13c8010b5713646290716'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_ppc64le_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; s390x) ESUM='5dc10fb41d6ff69d098cc4f220bfa7a041d3afc7ae8ace2ad8d064e2a836d39b'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_s390x_linux_17.0.17_10_openj9-0.56.0.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

2025-12-01 23:10:21 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

2025-12-01 23:10:21 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

2025-12-01 23:10:52 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; TOMCAT_CHECKSUM="fc55589f28bf6659928167461c741649b6005b64285dd81df05bb5ee40f4c6de59b8ee3af84ff756ae1513fc47f5f73070e29313b555e27f096f25881c69841d"; TOMCAT_VERSION="9.0.112"; 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 5; "${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 5; "${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}"; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit

2025-12-01 23:50:37 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

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=Apache Maven

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

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

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

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

2025-12-01 23:50:38 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.

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

ENV MAVEN_HOME=/usr/share/maven

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

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

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

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

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

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

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

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

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

ARG MAVEN_VERSION=3.9.11

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

ARG USER_HOME_DIR=/root

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

ENV MAVEN_CONFIG=/root/.m2

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

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

2025-12-01 23:50:38 UTC (buildkit.dockerfile.v0)

CMD ["mvn"]

Details
Created

2025-12-01 22:17:52 UTC

Size

288 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-17.0.17+10_openj9-0.56.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:97dd3f0ce510a30a2868ff104e9ff286ffc0ef01284aebe383ea81e85e26a415 - 9.57% (27.5 MB)

[#001] sha256:8eca063b229f0a2fb29f2792ccf1a6639aca961018e539a22872a84eaf037992 - 4.26% (12.2 MB)

[#002] sha256:4446e08d7ff06d333f73f988c37b57dbbf5674eef4c9cdfbd99dffcdd8912309 - 73.59% (212 MB)

[#003] sha256:15d417a9b4cc2f777a446d73d5f2a6ff3c19e4ccefb7942f69964e8848246958 - 2.0% (5.75 MB)

[#004] sha256:b9a11e42e2badacc233f8b9d5701d18751121636e8b3712b03ef9ba430150a83 - 7.51% (21.6 MB)

[#005] sha256:c2233e26414f75dc18517dde5131d0d2d4124fe726a70e29ba9539ea226509b5 - 3.07% (8.81 MB)

[#006] sha256:5c3726e0855d583d2a5b9bdedc25383bcc9be0bb8893a8c27fc8368f783696fe - 0.0% (855 Bytes)

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

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


History
2025-10-16 19:26:52 UTC

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

2025-10-16 19:26:52 UTC

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

2025-10-16 19:26:52 UTC

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

2025-10-16 19:26:52 UTC

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

2025-10-16 19:26:58 UTC

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

2025-10-16 19:26:58 UTC

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

2025-12-01 21:55:31 UTC (buildkit.dockerfile.v0)

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

2025-12-01 21:55:31 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

2025-12-01 21:55:31 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-17.0.17+10_openj9-0.56.0

2025-12-01 21:55:36 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='254dfceedcfa07faef415c701250093dfee5e7104bd9a6c42e384e54cecfa53a'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_aarch64_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; amd64|x86_64) ESUM='65b4d151e63554e708210af28ef53504327ba548cbe1ede1c95d79c2207985ed'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_x64_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='fde228977c7a1163c03a32ec7e79f9586c897b6ec5b13c8010b5713646290716'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_ppc64le_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; s390x) ESUM='5dc10fb41d6ff69d098cc4f220bfa7a041d3afc7ae8ace2ad8d064e2a836d39b'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_s390x_linux_17.0.17_10_openj9-0.56.0.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

2025-12-01 21:55:36 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

2025-12-01 21:55:36 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

2025-12-01 21:56:08 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; TOMCAT_CHECKSUM="fc55589f28bf6659928167461c741649b6005b64285dd81df05bb5ee40f4c6de59b8ee3af84ff756ae1513fc47f5f73070e29313b555e27f096f25881c69841d"; TOMCAT_VERSION="9.0.112"; 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 5; "${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 5; "${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}"; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit

2025-12-01 22:17:52 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

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=Apache Maven

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:17:52 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.

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

ENV MAVEN_HOME=/usr/share/maven

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

ARG MAVEN_VERSION=3.9.11

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

ARG USER_HOME_DIR=/root

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

ENV MAVEN_CONFIG=/root/.m2

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:17:52 UTC (buildkit.dockerfile.v0)

CMD ["mvn"]

Details
Created

2025-12-01 22:57:32 UTC

Size

304 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-17.0.17+10_openj9-0.56.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:d63f81c8011c079a4b917f15cc5c547103c6dee1be455ff6ecd1f2c1f5af0055 - 10.77% (32.7 MB)

[#001] sha256:deeed061b7b811d5f2dacc798a5fa9f9027e6aadfe4d5cd0c08707f2ee04253a - 4.33% (13.2 MB)

[#002] sha256:bd40b8cf61972c1c318022b0eac4c31ffd9200a3195c8c680929ba7243d25f47 - 72.05% (219 MB)

[#003] sha256:a94b80765fb752c65395c5e459a614dbe29027ff0b06b956f76c089dde8d315f - 1.58% (4.79 MB)

[#004] sha256:4dca6651205daa1b2d45498ed2db2a97459f6e33d951b35a671f02ec4cc1d42a - 8.36% (25.4 MB)

[#005] sha256:157329414a8b1e13055a39622b58fa63dd295c8a4b806b60d8cb58152760653d - 2.9% (8.81 MB)

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

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

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


History
2025-10-16 19:25:20 UTC

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

2025-10-16 19:25:20 UTC

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

2025-10-16 19:25:20 UTC

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

2025-10-16 19:25:20 UTC

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

2025-10-16 19:25:23 UTC

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

2025-10-16 19:25:24 UTC

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

2025-12-01 21:53:21 UTC (buildkit.dockerfile.v0)

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

2025-12-01 21:53:21 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

2025-12-01 21:53:21 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-17.0.17+10_openj9-0.56.0

2025-12-01 22:01:28 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='254dfceedcfa07faef415c701250093dfee5e7104bd9a6c42e384e54cecfa53a'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_aarch64_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; amd64|x86_64) ESUM='65b4d151e63554e708210af28ef53504327ba548cbe1ede1c95d79c2207985ed'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_x64_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='fde228977c7a1163c03a32ec7e79f9586c897b6ec5b13c8010b5713646290716'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_ppc64le_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; s390x) ESUM='5dc10fb41d6ff69d098cc4f220bfa7a041d3afc7ae8ace2ad8d064e2a836d39b'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_s390x_linux_17.0.17_10_openj9-0.56.0.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

2025-12-01 22:01:28 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

2025-12-01 22:01:28 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

2025-12-01 22:02:02 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; TOMCAT_CHECKSUM="fc55589f28bf6659928167461c741649b6005b64285dd81df05bb5ee40f4c6de59b8ee3af84ff756ae1513fc47f5f73070e29313b555e27f096f25881c69841d"; TOMCAT_VERSION="9.0.112"; 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 5; "${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 5; "${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}"; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit

2025-12-01 22:57:31 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

2025-12-01 22:57:31 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=Apache Maven

2025-12-01 22:57:31 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:57:31 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:57:31 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.

2025-12-01 22:57:31 UTC (buildkit.dockerfile.v0)

ENV MAVEN_HOME=/usr/share/maven

2025-12-01 22:57:31 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:57:32 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:57:32 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:57:32 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:57:32 UTC (buildkit.dockerfile.v0)

ARG MAVEN_VERSION=3.9.11

2025-12-01 22:57:32 UTC (buildkit.dockerfile.v0)

ARG USER_HOME_DIR=/root

2025-12-01 22:57:32 UTC (buildkit.dockerfile.v0)

ENV MAVEN_CONFIG=/root/.m2

2025-12-01 22:57:32 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:57:32 UTC (buildkit.dockerfile.v0)

CMD ["mvn"]

Details
Created

2025-12-01 22:30:47 UTC

Size

292 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-17.0.17+10_openj9-0.56.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:7d5b0205a5ff16c2b58f20a113b5eb9a80393a644df077beab5d90635153dc66 - 9.78% (28.5 MB)

[#001] sha256:1dd317c4724c78a49e25aa011e262dc6ebca1354c70f200695dfeb016f675c0e - 4.29% (12.5 MB)

[#002] sha256:e4ef171a2ac8ed9b5f5f069613c74dde6b1f680f8bdf752e6c31cb519e137dc6 - 73.06% (213 MB)

[#003] sha256:5e57456ab6f658ca891800a0a291beabc364599dfaa3d28ebe4191d6bd51f0e3 - 2.09% (6.08 MB)

[#004] sha256:dffc2380ee6c8cffd2f43bd9e16c4cfc8abeb1dbe4b407da0fbdc79278b57ae7 - 7.75% (22.6 MB)

[#005] sha256:e402455db1237af66dfea66d5be78f992e03e010cdc7c88bc01c6f309b81eee8 - 3.02% (8.81 MB)

[#006] sha256:c1090b47b697d17065b14ee7ef54b1d7fdab75038aeb576dfede94b44d41b1eb - 0.0% (854 Bytes)

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

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


History
2025-10-16 19:25:14 UTC

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

2025-10-16 19:25:14 UTC

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

2025-10-16 19:25:14 UTC

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

2025-10-16 19:25:14 UTC

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

2025-10-16 19:25:16 UTC

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

2025-10-16 19:25:16 UTC

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

2025-12-01 21:53:39 UTC (buildkit.dockerfile.v0)

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

2025-12-01 21:53:39 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

2025-12-01 21:53:39 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-17.0.17+10_openj9-0.56.0

2025-12-01 21:57:19 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='254dfceedcfa07faef415c701250093dfee5e7104bd9a6c42e384e54cecfa53a'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_aarch64_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; amd64|x86_64) ESUM='65b4d151e63554e708210af28ef53504327ba548cbe1ede1c95d79c2207985ed'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_x64_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='fde228977c7a1163c03a32ec7e79f9586c897b6ec5b13c8010b5713646290716'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_ppc64le_linux_17.0.17_10_openj9-0.56.0.tar.gz'; ;; s390x) ESUM='5dc10fb41d6ff69d098cc4f220bfa7a041d3afc7ae8ace2ad8d064e2a836d39b'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.17%2B10_openj9-0.56.0/ibm-semeru-open-jdk_s390x_linux_17.0.17_10_openj9-0.56.0.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

2025-12-01 21:57:19 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

2025-12-01 21:57:19 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

2025-12-01 21:57:52 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; TOMCAT_CHECKSUM="fc55589f28bf6659928167461c741649b6005b64285dd81df05bb5ee40f4c6de59b8ee3af84ff756ae1513fc47f5f73070e29313b555e27f096f25881c69841d"; TOMCAT_VERSION="9.0.112"; 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 5; "${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 5; "${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}"; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit

2025-12-01 22:30:42 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

2025-12-01 22:30:44 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=Apache Maven

2025-12-01 22:30:44 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:30:44 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:30:44 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.

2025-12-01 22:30:44 UTC (buildkit.dockerfile.v0)

ENV MAVEN_HOME=/usr/share/maven

2025-12-01 22:30:44 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:30:44 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:30:45 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:30:47 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:30:47 UTC (buildkit.dockerfile.v0)

ARG MAVEN_VERSION=3.9.11

2025-12-01 22:30:47 UTC (buildkit.dockerfile.v0)

ARG USER_HOME_DIR=/root

2025-12-01 22:30:47 UTC (buildkit.dockerfile.v0)

ENV MAVEN_CONFIG=/root/.m2

2025-12-01 22:30:47 UTC (buildkit.dockerfile.v0)

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

2025-12-01 22:30:47 UTC (buildkit.dockerfile.v0)

CMD ["mvn"]