Namespace
halohub
Image / Tag
halo:sha-c6f19a2
Content Digest
sha256:bfa414a707060979564351b8bd74b9ee73bdb056ba8d151a5b72a91cd0bbde56
Details
Created

2025-05-31 15:02:01 UTC

Size

207 MB

Content Digest
Labels
  • maintainer
    johnniang <johnniang@foxmail.com>
  • org.opencontainers.image.created
    2025-05-31T15:01:25.791Z
  • org.opencontainers.image.description
    强大易用的开源建站工具。
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.revision
    c6f19a233fbedbaa48c2a337296ea5a0b343600c
  • org.opencontainers.image.source
    https://github.com/halo-dev/halo
  • org.opencontainers.image.title
    halo
  • org.opencontainers.image.url
    https://github.com/halo-dev/halo
  • org.opencontainers.image.version
    2.21.0-alpha.2

Environment
HALO_WORK_DIR

/root/.halo2

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-21.0.7+6_openj9-0.51.0

JVM_OPTS

-Xmx256m -Xms256m

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

PATH

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

SPRING_CONFIG_LOCATION

optional:classpath:/;optional:file:/root/.halo2/

TZ

Asia/Shanghai


Layers

[#000] sha256:0622fac788edde5d30e7bbd2688893e5452a19ff237a2e4615e2d8181321cb4e - 13.71% (28.3 MB)

[#001] sha256:fb5b8c68e5367f9eec431487b911d121fb80d8dbac198c28c3ecb18b26bc5f45 - 5.9% (12.2 MB)

[#002] sha256:cb5a263aade8df195f5494cb2eae0b75daecf6623c4f1a1bd61c8242421c5d73 - 26.02% (53.8 MB)

[#003] sha256:944f196a268c5a3b19f52d6e8fda56188e0f239ddb1d3cff7c1c88af40e2e849 - 2.38% (4.93 MB)

[#004] sha256:967412cf548cee4acbca39602a5ab24959ee56ff22d393f500c9beff5539db0a - 0.0% (101 Bytes)

[#005] sha256:9b40b830465bd4ca4ff4c30f7842c7e66f0b5a8047321a0e2782fdb086b16859 - 46.12% (95.4 MB)

[#006] sha256:96faa7a81c8e190ad941e7aa08b2e98c0611c9792f3c146e79594cb28df83bda - 0.06% (130 KB)

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

[#008] sha256:71ed8301b6ea7d961ba3c1950d640dc77747cb9c1c5b473afca399747b055e83 - 5.8% (12 MB)

[#009] sha256:97b4e4dd07f8309dd721b7f600cbcb88ee63f11b951e160d3bb693f3cfcb8838 - 0.0% (192 Bytes)


History
2025-04-28 09:44:48 UTC

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

2025-04-28 09:44:48 UTC

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

2025-04-28 09:44:48 UTC

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

2025-04-28 09:44:48 UTC

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

2025-04-28 09:44:50 UTC

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

2025-04-28 09:44:51 UTC

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

2025-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

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

2025-05-07 17:42: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-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-21.0.7+6_openj9-0.51.0

2025-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='8a140dc3806d8e0ae23ca37cff6b4cf225eea45bc82b0749c05ad5f05b9cff36'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_aarch64_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; amd64|x86_64) ESUM='1c439bacc90f3a119edc3a7f313512b49b21d583a960cb318094974fe5006246'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_x64_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='c3e5287710e9a30a905e82cd0bb67a114cec08fc4a03f82798e76d22a1a7137e'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_ppc64le_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; s390x) ESUM='8c2ba94ac14dce46c68a7d46d600bee1685862299926a5462754a9dece5607cc'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_s390x_linux_21.0.7_6_openj9-0.51.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-05-07 17:42: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-05-07 17:42: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-05-07 17:42:21 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="cbe407f17c813d9f83cab459e603df171f2e5782c3a0cdb4cfa00b0391a89cedf865c6d8972fc7e12210c69a8467ede5939f35bb0f3b41fa173b9ee83199768a"; TOMCAT_DWNLD_URL="https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.102/bin/apache-tomcat-9.0.102.tar.gz"; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${TOMCAT_DWNLD_URL}"; 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-05-31 15:01:55 UTC (buildkit.dockerfile.v0)

LABEL maintainer=johnniang <johnniang@foxmail.com>

2025-05-31 15:01:55 UTC (buildkit.dockerfile.v0)

WORKDIR /application

2025-05-31 15:02:00 UTC (buildkit.dockerfile.v0)

COPY application/dependencies/ ./ # buildkit

2025-05-31 15:02:00 UTC (buildkit.dockerfile.v0)

COPY application/spring-boot-loader/ ./ # buildkit

2025-05-31 15:02:00 UTC (buildkit.dockerfile.v0)

COPY application/snapshot-dependencies/ ./ # buildkit

2025-05-31 15:02:00 UTC (buildkit.dockerfile.v0)

COPY application/application/ ./ # buildkit

2025-05-31 15:02:00 UTC (buildkit.dockerfile.v0)

ENV JVM_OPTS=-Xmx256m -Xms256m HALO_WORK_DIR=/root/.halo2 SPRING_CONFIG_LOCATION=optional:classpath:/;optional:file:/root/.halo2/ TZ=Asia/Shanghai

2025-05-31 15:02:01 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # buildkit

2025-05-31 15:02:01 UTC (buildkit.dockerfile.v0)

EXPOSE map[8090/tcp:{}]

2025-05-31 15:02:01 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["sh" "-c" "java -Dreactor.schedulers.defaultBoundedElasticOnVirtualThreads=true ${JVM_OPTS} org.springframework.boot.loader.launch.JarLauncher ${0} ${@}"]

Details
Created

2025-05-31 15:02:28 UTC

Size

202 MB

Content Digest
Labels
  • maintainer
    johnniang <johnniang@foxmail.com>
  • org.opencontainers.image.created
    2025-05-31T15:01:25.791Z
  • org.opencontainers.image.description
    强大易用的开源建站工具。
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.revision
    c6f19a233fbedbaa48c2a337296ea5a0b343600c
  • org.opencontainers.image.source
    https://github.com/halo-dev/halo
  • org.opencontainers.image.title
    halo
  • org.opencontainers.image.url
    https://github.com/halo-dev/halo
  • org.opencontainers.image.version
    2.21.0-alpha.2

Environment
HALO_WORK_DIR

/root/.halo2

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-21.0.7+6_openj9-0.51.0

JVM_OPTS

-Xmx256m -Xms256m

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

PATH

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

SPRING_CONFIG_LOCATION

optional:classpath:/;optional:file:/root/.halo2/

TZ

Asia/Shanghai


Layers

[#000] sha256:2f074dc76c5da961ce13817b02fa1e3c3070ad4b94970aa7f52f6c0d63b07696 - 13.6% (27.5 MB)

[#001] sha256:c62d63df14db3f5e0f30dbcd7cf8c9567ae2c127c459033ded8666b63cc18d33 - 6.05% (12.2 MB)

[#002] sha256:5e98e0a93049cfdab3171e20612c8621f1a456f114bd4392422e362946b9b8af - 24.91% (50.4 MB)

[#003] sha256:d98155d40b509d703f77031a75945f4e4d99a3f8901a49196dc3578c250ff682 - 2.32% (4.7 MB)

[#004] sha256:3e1bac6e3b8403e97bf88097ae5cfe5b480a1163b11eebb8e379848d3d4c1ebd - 0.0% (101 Bytes)

[#005] sha256:7d9c8a26ef75c148357b3dea4f858bf9c49f8d442abd499ecaff067395c46f5f - 47.13% (95.4 MB)

[#006] sha256:884a13922910ca55d3eb88eff8126c0f1dda26ad5e0f582c192388b634da7cb9 - 0.06% (130 KB)

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

[#008] sha256:4de65ebfe8f92ddd8c30baf569116cc437ee7c8cac32e650c899341cdcbc9fb6 - 5.93% (12 MB)

[#009] sha256:0b9ed0576973cef5f7804afafa327ebae3b864b8bb6f77ad7731d46a8e1bd786 - 0.0% (191 Bytes)


History
2025-04-28 09:44:58 UTC

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

2025-04-28 09:44:58 UTC

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

2025-04-28 09:44:58 UTC

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

2025-04-28 09:44:58 UTC

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

2025-04-28 09:45:01 UTC

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

2025-04-28 09:45:01 UTC

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

2025-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

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

2025-05-07 17:42: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-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-21.0.7+6_openj9-0.51.0

2025-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='8a140dc3806d8e0ae23ca37cff6b4cf225eea45bc82b0749c05ad5f05b9cff36'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_aarch64_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; amd64|x86_64) ESUM='1c439bacc90f3a119edc3a7f313512b49b21d583a960cb318094974fe5006246'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_x64_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='c3e5287710e9a30a905e82cd0bb67a114cec08fc4a03f82798e76d22a1a7137e'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_ppc64le_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; s390x) ESUM='8c2ba94ac14dce46c68a7d46d600bee1685862299926a5462754a9dece5607cc'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_s390x_linux_21.0.7_6_openj9-0.51.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-05-07 17:42: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-05-07 17:42: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-05-07 17:42:21 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="cbe407f17c813d9f83cab459e603df171f2e5782c3a0cdb4cfa00b0391a89cedf865c6d8972fc7e12210c69a8467ede5939f35bb0f3b41fa173b9ee83199768a"; TOMCAT_DWNLD_URL="https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.102/bin/apache-tomcat-9.0.102.tar.gz"; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${TOMCAT_DWNLD_URL}"; 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-05-31 15:01:56 UTC (buildkit.dockerfile.v0)

LABEL maintainer=johnniang <johnniang@foxmail.com>

2025-05-31 15:01:56 UTC (buildkit.dockerfile.v0)

WORKDIR /application

2025-05-31 15:02:27 UTC (buildkit.dockerfile.v0)

COPY application/dependencies/ ./ # buildkit

2025-05-31 15:02:28 UTC (buildkit.dockerfile.v0)

COPY application/spring-boot-loader/ ./ # buildkit

2025-05-31 15:02:28 UTC (buildkit.dockerfile.v0)

COPY application/snapshot-dependencies/ ./ # buildkit

2025-05-31 15:02:28 UTC (buildkit.dockerfile.v0)

COPY application/application/ ./ # buildkit

2025-05-31 15:02:28 UTC (buildkit.dockerfile.v0)

ENV JVM_OPTS=-Xmx256m -Xms256m HALO_WORK_DIR=/root/.halo2 SPRING_CONFIG_LOCATION=optional:classpath:/;optional:file:/root/.halo2/ TZ=Asia/Shanghai

2025-05-31 15:02:28 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # buildkit

2025-05-31 15:02:28 UTC (buildkit.dockerfile.v0)

EXPOSE map[8090/tcp:{}]

2025-05-31 15:02:28 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["sh" "-c" "java -Dreactor.schedulers.defaultBoundedElasticOnVirtualThreads=true ${JVM_OPTS} org.springframework.boot.loader.launch.JarLauncher ${0} ${@}"]

Details
Created

2025-05-31 15:02:24 UTC

Size

213 MB

Content Digest
Labels
  • maintainer
    johnniang <johnniang@foxmail.com>
  • org.opencontainers.image.created
    2025-05-31T15:01:25.791Z
  • org.opencontainers.image.description
    强大易用的开源建站工具。
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.revision
    c6f19a233fbedbaa48c2a337296ea5a0b343600c
  • org.opencontainers.image.source
    https://github.com/halo-dev/halo
  • org.opencontainers.image.title
    halo
  • org.opencontainers.image.url
    https://github.com/halo-dev/halo
  • org.opencontainers.image.version
    2.21.0-alpha.2

Environment
HALO_WORK_DIR

/root/.halo2

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-21.0.7+6_openj9-0.51.0

JVM_OPTS

-Xmx256m -Xms256m

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

PATH

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

SPRING_CONFIG_LOCATION

optional:classpath:/;optional:file:/root/.halo2/

TZ

Asia/Shanghai


Layers

[#000] sha256:fd7ce82c353803b69e06046e91345d15e766766fa395e4fb8e9f652834cddb32 - 15.4% (32.7 MB)

[#001] sha256:6d4e53848473d7bb4cec26f1e8ba9050b9c49647e0e947fae0668f69be3ca1da - 6.19% (13.2 MB)

[#002] sha256:e8c0de5ff906a748c028ec54f0b4bb8c7c159a1137b9d91c04be78af135e2d98 - 26.06% (55.4 MB)

[#003] sha256:4d1fe1830fc702ebc411454a135f2115596a29c1d7c7ab4cf264fa422d18627b - 1.78% (3.79 MB)

[#004] sha256:967412cf548cee4acbca39602a5ab24959ee56ff22d393f500c9beff5539db0a - 0.0% (101 Bytes)

[#005] sha256:ac894ab8fef0865f43c302538aace49f7cc4283e662dc01b8e40cc04d689cc8d - 44.86% (95.4 MB)

[#006] sha256:7054d8d719cdc6395b4eb3b7bf6d67318cae7bdb8b946ad85ae8b61dd61cbdf4 - 0.06% (130 KB)

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

[#008] sha256:05aea3d3f762cf55c142ea16b2acac491ece7170f48141d186ab45a6b55fd72b - 5.64% (12 MB)

[#009] sha256:2b6e66d3ea411ffada55d2629dc04ee7f8820a3772362ea4bedf1df8816b870c - 0.0% (193 Bytes)


History
2025-04-28 09:45:57 UTC

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

2025-04-28 09:45:57 UTC

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

2025-04-28 09:45:57 UTC

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

2025-04-28 09:45:57 UTC

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

2025-04-28 09:46:00 UTC

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

2025-04-28 09:46:01 UTC

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

2025-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

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

2025-05-07 17:42: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-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-21.0.7+6_openj9-0.51.0

2025-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='8a140dc3806d8e0ae23ca37cff6b4cf225eea45bc82b0749c05ad5f05b9cff36'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_aarch64_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; amd64|x86_64) ESUM='1c439bacc90f3a119edc3a7f313512b49b21d583a960cb318094974fe5006246'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_x64_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='c3e5287710e9a30a905e82cd0bb67a114cec08fc4a03f82798e76d22a1a7137e'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_ppc64le_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; s390x) ESUM='8c2ba94ac14dce46c68a7d46d600bee1685862299926a5462754a9dece5607cc'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_s390x_linux_21.0.7_6_openj9-0.51.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-05-07 17:42: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-05-07 17:42: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-05-07 17:42:21 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="cbe407f17c813d9f83cab459e603df171f2e5782c3a0cdb4cfa00b0391a89cedf865c6d8972fc7e12210c69a8467ede5939f35bb0f3b41fa173b9ee83199768a"; TOMCAT_DWNLD_URL="https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.102/bin/apache-tomcat-9.0.102.tar.gz"; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${TOMCAT_DWNLD_URL}"; 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-05-31 15:01:56 UTC (buildkit.dockerfile.v0)

LABEL maintainer=johnniang <johnniang@foxmail.com>

2025-05-31 15:01:56 UTC (buildkit.dockerfile.v0)

WORKDIR /application

2025-05-31 15:02:23 UTC (buildkit.dockerfile.v0)

COPY application/dependencies/ ./ # buildkit

2025-05-31 15:02:23 UTC (buildkit.dockerfile.v0)

COPY application/spring-boot-loader/ ./ # buildkit

2025-05-31 15:02:23 UTC (buildkit.dockerfile.v0)

COPY application/snapshot-dependencies/ ./ # buildkit

2025-05-31 15:02:24 UTC (buildkit.dockerfile.v0)

COPY application/application/ ./ # buildkit

2025-05-31 15:02:24 UTC (buildkit.dockerfile.v0)

ENV JVM_OPTS=-Xmx256m -Xms256m HALO_WORK_DIR=/root/.halo2 SPRING_CONFIG_LOCATION=optional:classpath:/;optional:file:/root/.halo2/ TZ=Asia/Shanghai

2025-05-31 15:02:24 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # buildkit

2025-05-31 15:02:24 UTC (buildkit.dockerfile.v0)

EXPOSE map[8090/tcp:{}]

2025-05-31 15:02:24 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["sh" "-c" "java -Dreactor.schedulers.defaultBoundedElasticOnVirtualThreads=true ${JVM_OPTS} org.springframework.boot.loader.launch.JarLauncher ${0} ${@}"]

Details
Created

2025-05-31 15:02:26 UTC

Size

207 MB

Content Digest
Labels
  • maintainer
    johnniang <johnniang@foxmail.com>
  • org.opencontainers.image.created
    2025-05-31T15:01:25.791Z
  • org.opencontainers.image.description
    强大易用的开源建站工具。
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.revision
    c6f19a233fbedbaa48c2a337296ea5a0b343600c
  • org.opencontainers.image.source
    https://github.com/halo-dev/halo
  • org.opencontainers.image.title
    halo
  • org.opencontainers.image.url
    https://github.com/halo-dev/halo
  • org.opencontainers.image.version
    2.21.0-alpha.2

Environment
HALO_WORK_DIR

/root/.halo2

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-21.0.7+6_openj9-0.51.0

JVM_OPTS

-Xmx256m -Xms256m

LANG

en_US.UTF-8

LANGUAGE

en_US:en

LC_ALL

en_US.UTF-8

PATH

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

SPRING_CONFIG_LOCATION

optional:classpath:/;optional:file:/root/.halo2/

TZ

Asia/Shanghai


Layers

[#000] sha256:52a1750d5fddc355cdc90a83890b7d582c7f145aa5d114d9582cd010b8ead145 - 13.81% (28.6 MB)

[#001] sha256:21c57a4cd6f9e08c6ca153a6d888f12e81ea6453fc88e81d3368fb7833166789 - 6.05% (12.5 MB)

[#002] sha256:0dbd397a7b3ea0b1e474e3313dc4049867c740b12bb490a0424138f477668283 - 25.71% (53.2 MB)

[#003] sha256:41130f3425c302ba541fe7cc11fa96e029e3dd22ecdd42e9ba23fc653b900a2e - 2.46% (5.08 MB)

[#004] sha256:967412cf548cee4acbca39602a5ab24959ee56ff22d393f500c9beff5539db0a - 0.0% (101 Bytes)

[#005] sha256:860a1e2ef2a8c76830821ecbacecaed280353e1d618c795673e6bde34a8f5186 - 46.11% (95.4 MB)

[#006] sha256:e54b806a4f4a7a64a54f300a3d2ee1b3e8f07e331dbb160116c6bc20124a74f8 - 0.06% (130 KB)

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

[#008] sha256:942fd00a537b82966ed0a9c0cafe29a2a13a3fb404b809b0ab8f99be6f8ed883 - 5.8% (12 MB)

[#009] sha256:df7811365509b1a888a27530266e60b02b04cd6543144271f37e0feee4d4206e - 0.0% (193 Bytes)


History
2025-04-28 09:45:29 UTC

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

2025-04-28 09:45:29 UTC

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

2025-04-28 09:45:29 UTC

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

2025-04-28 09:45:29 UTC

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

2025-04-28 09:45:31 UTC

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

2025-04-28 09:45:32 UTC

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

2025-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

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

2025-05-07 17:42: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-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

ENV JAVA_VERSION=jdk-21.0.7+6_openj9-0.51.0

2025-05-07 17:42:21 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='8a140dc3806d8e0ae23ca37cff6b4cf225eea45bc82b0749c05ad5f05b9cff36'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_aarch64_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; amd64|x86_64) ESUM='1c439bacc90f3a119edc3a7f313512b49b21d583a960cb318094974fe5006246'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_x64_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='c3e5287710e9a30a905e82cd0bb67a114cec08fc4a03f82798e76d22a1a7137e'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_ppc64le_linux_21.0.7_6_openj9-0.51.0.tar.gz'; ;; s390x) ESUM='8c2ba94ac14dce46c68a7d46d600bee1685862299926a5462754a9dece5607cc'; BINARY_URL='https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.7%2B6_openj9-0.51.0/ibm-semeru-open-jre_s390x_linux_21.0.7_6_openj9-0.51.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-05-07 17:42: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-05-07 17:42: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-05-07 17:42:21 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="cbe407f17c813d9f83cab459e603df171f2e5782c3a0cdb4cfa00b0391a89cedf865c6d8972fc7e12210c69a8467ede5939f35bb0f3b41fa173b9ee83199768a"; TOMCAT_DWNLD_URL="https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.102/bin/apache-tomcat-9.0.102.tar.gz"; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${TOMCAT_DWNLD_URL}"; 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-05-31 15:01:55 UTC (buildkit.dockerfile.v0)

LABEL maintainer=johnniang <johnniang@foxmail.com>

2025-05-31 15:01:55 UTC (buildkit.dockerfile.v0)

WORKDIR /application

2025-05-31 15:02:25 UTC (buildkit.dockerfile.v0)

COPY application/dependencies/ ./ # buildkit

2025-05-31 15:02:25 UTC (buildkit.dockerfile.v0)

COPY application/spring-boot-loader/ ./ # buildkit

2025-05-31 15:02:25 UTC (buildkit.dockerfile.v0)

COPY application/snapshot-dependencies/ ./ # buildkit

2025-05-31 15:02:26 UTC (buildkit.dockerfile.v0)

COPY application/application/ ./ # buildkit

2025-05-31 15:02:26 UTC (buildkit.dockerfile.v0)

ENV JVM_OPTS=-Xmx256m -Xms256m HALO_WORK_DIR=/root/.halo2 SPRING_CONFIG_LOCATION=optional:classpath:/;optional:file:/root/.halo2/ TZ=Asia/Shanghai

2025-05-31 15:02:26 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # buildkit

2025-05-31 15:02:26 UTC (buildkit.dockerfile.v0)

EXPOSE map[8090/tcp:{}]

2025-05-31 15:02:26 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["sh" "-c" "java -Dreactor.schedulers.defaultBoundedElasticOnVirtualThreads=true ${JVM_OPTS} org.springframework.boot.loader.launch.JarLauncher ${0} ${@}"]

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete