official-images
official-images copied to clipboard
Adding the Semeru Certified Edition image support for JDK11
Adding the images for Semeru Runtimes Certified Edition for JDK11.
@tianon Can this PR be merged. Thanks !!
Sorry for the delay -- there's some discussion happening inside Docker as to whether this is an appropriate image to include in the official images program, given the software is not under an Open Source license. I think it would probably be worthwhile to send an email to "justin.cormack @ docker.com
" and "jeff_hadfield @ docker.com
" to discuss further with them.
@tianon To give a brief background about this, as such this is the not our first product that we published with a non-Open Source license. We did publish couple of releases of JDK11 and are still publishing JDK8 with IBM ILAN license as part of https://hub.docker.com/_/ibmjava .
Starting JDK11, we have changed the branding from IBM Java Technology Edition to IBM Semeru Runtime for Certified Edition, and hence we will stop publishing JDK11 and future releases at "ibmjava" and use "ibm-semeru-runtimes".
As requested, I've reached out to Justin and Jeff to discuss the underlying issues here, hoping we can circle back with the result of that conversation shortly (for some definition of "short" :) ).
Diff for 612f084d0ee6ffb03df4fe34f4da18029c13a5e9:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index c0ea150..5682441 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -2,80 +2,87 @@ Maintainers: Surya Narkedimilli <[email protected]> (@narkedi)
GitRepo: https://github.com/ibmruntimes/semeru-containers.git
GitFetch: refs/heads/ibm
+Tags: certified-11.0.12.0-jdk-focal, certified-11-jdk-focal
+SharedTags: certified-11.0.12.0-jdk, certified-11-jdk
+Architectures: amd64, ppc64le, s390x
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
+Directory: 11/jdk/ubuntu
+File: Dockerfile.certified.releases.full
+
Tags: open-8u312-b07-jdk-centos7, open-8-jdk-centos7
Architectures: amd64, arm64v8, ppc64le
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 8/jdk/centos
File: Dockerfile.open.releases.full
Tags: open-8u312-b07-jdk-focal, open-8-jdk-focal
SharedTags: open-8u312-b07-jdk, open-8-jdk
Architectures: amd64, arm64v8, ppc64le, s390x
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 8/jdk/ubuntu
File: Dockerfile.open.releases.full
Tags: open-8u312-b07-jre-centos7, open-8-jre-centos7
Architectures: amd64, arm64v8, ppc64le
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 8/jre/centos
File: Dockerfile.open.releases.full
Tags: open-8u312-b07-jre-focal, open-8-jre-focal
SharedTags: open-8u312-b07-jre, open-8-jre
Architectures: amd64, arm64v8, ppc64le, s390x
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 8/jre/ubuntu
File: Dockerfile.open.releases.full
Tags: open-11.0.13_8-jdk-centos7, open-11-jdk-centos7
Architectures: amd64, arm64v8, ppc64le
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 11/jdk/centos
File: Dockerfile.open.releases.full
Tags: open-11.0.13_8-jdk-focal, open-11-jdk-focal
SharedTags: open-11.0.13_8-jdk, open-11-jdk
Architectures: amd64, arm64v8, ppc64le, s390x
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 11/jdk/ubuntu
File: Dockerfile.open.releases.full
Tags: open-11.0.13_8-jre-centos7, open-11-jre-centos7
Architectures: amd64, arm64v8, ppc64le
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 11/jre/centos
File: Dockerfile.open.releases.full
Tags: open-11.0.13_8-jre-focal, open-11-jre-focal
SharedTags: open-11.0.13_8-jre, open-11-jre
Architectures: amd64, arm64v8, ppc64le, s390x
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 11/jre/ubuntu
File: Dockerfile.open.releases.full
Tags: open-16.0.2_7-jdk-centos7, open-16-jdk-centos7
Architectures: amd64, ppc64le
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 16/jdk/centos
File: Dockerfile.open.releases.full
Tags: open-16.0.2_7-jdk-focal, open-16-jdk-focal
SharedTags: open-16.0.2_7-jdk, open-16-jdk
Architectures: amd64, ppc64le, s390x
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 16/jdk/ubuntu
File: Dockerfile.open.releases.full
Tags: open-16.0.2_7-jre-centos7, open-16-jre-centos7
Architectures: amd64, ppc64le
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 16/jre/centos
File: Dockerfile.open.releases.full
Tags: open-16.0.2_7-jre-focal, open-16-jre-focal
SharedTags: open-16.0.2_7-jre, open-16-jre
Architectures: amd64, ppc64le, s390x
-GitCommit: add686cad2edbb6bb109f6cc4b9470716b015bb8
+GitCommit: d3e1dd54fa6cd62f670c8aed01f60e2ea30c3f46
Directory: 16/jre/ubuntu
File: Dockerfile.open.releases.full
diff --git a/_bashbrew-list b/_bashbrew-list
index c59b12b..7b71052 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -1,3 +1,7 @@
+ibm-semeru-runtimes:certified-11-jdk
+ibm-semeru-runtimes:certified-11-jdk-focal
+ibm-semeru-runtimes:certified-11.0.12.0-jdk
+ibm-semeru-runtimes:certified-11.0.12.0-jdk-focal
ibm-semeru-runtimes:open-8u312-b07-jdk
ibm-semeru-runtimes:open-8u312-b07-jdk-centos7
ibm-semeru-runtimes:open-8u312-b07-jdk-focal
diff --git a/ibm-semeru-runtimes_open-11-jdk-focal/Dockerfile.open.releases.full b/ibm-semeru-runtimes_certified-11-jdk-focal/Dockerfile.certified.releases.full
similarity index 64%
copy from ibm-semeru-runtimes_open-11-jdk-focal/Dockerfile.open.releases.full
copy to ibm-semeru-runtimes_certified-11-jdk-focal/Dockerfile.certified.releases.full
index d0ba914..875f58c 100644
--- a/ibm-semeru-runtimes_open-11-jdk-focal/Dockerfile.open.releases.full
+++ b/ibm-semeru-runtimes_certified-11-jdk-focal/Dockerfile.certified.releases.full
@@ -23,45 +22,47 @@ RUN apt-get update \
&& locale-gen en_US.UTF-8 \
&& rm -rf /var/lib/apt/lists/*
-ENV JAVA_VERSION jdk-11.0.13+8_openj9-0.29.0
+ENV JAVA_VERSION 11.0.12.0
RUN set -eux; \
ARCH="$(dpkg --print-architecture)"; \
case "${ARCH}" in \
- aarch64|arm64) \
- ESUM='151dca23e1fdb43eaa60631c96895be9aa7bb751e7fdf88ddffa1c32157fb417'; \
- BINARY_URL='https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.13%2B8_openj9-0.29.0/ibm-semeru-open-jdk_aarch64_linux_11.0.13_8_openj9-0.29.0.tar.gz'; \
- ;; \
amd64|x86_64) \
- ESUM='3975e2732cf632ca8f41c237ba7e033fd96bda262b79861f83b4e2ac62c90c3d'; \
- BINARY_URL='https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.13%2B8_openj9-0.29.0/ibm-semeru-open-jdk_x64_linux_11.0.13_8_openj9-0.29.0.tar.gz'; \
+ ESUM='4691610316eb4a205557e3aa7d6d84caa1f140a8e584eaaef5ecbcc99378c0fd'; \
+ BINARY_URL='https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.12.0-certified/ibm-semeru-certified-jdk_x64_linux_11.0.12.0-archive.bin'; \
;; \
ppc64el|ppc64le) \
- ESUM='7b304c52974f51611b45a2ab7949503e33a204b8a4ae705eb3c74789350174d3'; \
- BINARY_URL='https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.13%2B8_openj9-0.29.0/ibm-semeru-open-jdk_ppc64le_linux_11.0.13_8_openj9-0.29.0.tar.gz'; \
+ ESUM='f55413cb237b361e30df1fc350e1b67380bcf170bb70b89ad151e7e24d7bde1c'; \
+ BINARY_URL='https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.12.0-certified/ibm-semeru-certified-jdk_ppc64le_linux_11.0.12.0-archive.bin'; \
;; \
s390x) \
- ESUM='6c3ebb4af0f4066e721e1f0078438458775f4b93bfd2d0be1066c54ccf015654'; \
- BINARY_URL='https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.13%2B8_openj9-0.29.0/ibm-semeru-open-jdk_s390x_linux_11.0.13_8_openj9-0.29.0.tar.gz'; \
+ ESUM='f1f69c069e66066e9864691ea2deef20c835cb1bb292d807b06e59533921c3f4'; \
+ BINARY_URL='https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.12.0-certified/ibm-semeru-certified-jdk_s390x_linux_11.0.12.0-archive.bin'; \
;; \
*) \
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;
+ curl -LfsSo /tmp/ibm-java.bin ${BINARY_URL}; \
+ echo "${ESUM} /tmp/ibm-java.bin" | sha256sum -c -; \
+ echo "INSTALLER_UI=silent" > /tmp/response.properties; \
+ echo "USER_INSTALL_DIR=/opt/ibm" >> /tmp/response.properties; \
+ echo "LICENSE_ACCEPTED=TRUE" >> /tmp/response.properties; \
+ mkdir -p /opt/ibm; \
+ chmod +x /tmp/ibm-java.bin; \
+ /tmp/ibm-java.bin -i silent -f /tmp/response.properties; \
+ mv /opt/ibm/jdk-* /opt/ibm/java; \
+ rm -f /tmp/response.properties; \
+ rm -f /tmp/index.yml; \
+ rm -f /tmp/ibm-java.bin;
-ENV JAVA_HOME=/opt/java/openjdk \
- PATH="/opt/java/openjdk/bin:$PATH"
-ENV JAVA_TOOL_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal"
+ENV JAVA_HOME=/opt/ibm/java \
+ PATH="/opt/ibm/java/bin:$PATH"
+ENV JAVA_TOOL_OPTIONS="-XX:+IgnoreUnrecognizedVMOptions -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/ibm/java/.scc,readonly,nonFatal"
# Create OpenJ9 SharedClassCache (SCC) for bootclasses to improve the java startup.
-# Downloads and runs tomcat to generate SCC for bootclasses at /opt/java/.scc/openj9_system_scc
+# Downloads and runs tomcat to generate SCC for bootclasses at /opt/ibm/java/.scc/openj9_system_scc
# Does a dry-run and calculates the optimal cache size and recreates the cache with the appropriate size.
# With SCC, OpenJ9 startup is improved ~50% with an increase in image size of ~14MB
# Application classes can be create a separate cache layer with this as the base for further startup improvement
@@ -80,31 +81,31 @@ RUN set -eux; \
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="-Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; \
+ java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/ibm/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; \
+ export OPENJ9_JAVA_OPTIONS="-Xshareclasses:name=dry_run_scc,cacheDir=/opt/ibm/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); \
+ FULL=$( (java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/ibm/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/ibm/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; \
+ java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/ibm/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; \
unset OPENJ9_JAVA_OPTIONS; \
\
- export OPENJ9_JAVA_OPTIONS="-Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; \
+ export OPENJ9_JAVA_OPTIONS="-Xshareclasses:name=openj9_system_scc,cacheDir=/opt/ibm/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)}'); \
+ FULL=$( (java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/ibm/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; \
+ if [ -d "/opt/ibm/java/.scc" ]; then \
+ chmod -R 0777 /opt/ibm/java/.scc; \
fi; \
\
echo "SCC generation phase completed";
Relevant Maintainers:
-
ibm-semeru-runtimes
: @narkedi
Closing this as we are not planning to publish Certified Images anymore.