What Is the Oracle Java SE Support Process and It's Impact on Docker/K8S Openshift or Canonical Kubernetes? (文档 ID 2432386.1)
APPLIES TO:
Java SE JDK and JRE - Version 7 to 9
Information in this document applies to any platform.
GOAL
There is an official Docker image for Oracle Java SE. It is based on Oracle Linux. Is it possible to build and install a customer Docker image based on another OS image such as RedHat or Ubuntu? Can that image be run on Openshift or Canonical Kubernetes? And is any of this supported by Oracle?
SOLUTION
Any of the suggested configurations should work. There is no technological bar. From Oracle's standpoint, the use of Docker is irrelevant for Java SE support or licensing. Oracle has made several enhancements to Java SE to make it work more seamlessly with Docker.
As of Java SE 8u131 and in JDK 9, the JVM is Docker-aware with respect to Docker CPU limits. It recognizes such limits transparently. That means that if:
-XX:ParalllelGCThreads, or -XX:CICompilerCount
are not specified as command line options, the JVM will apply the Docker CPU limit as the number of CPUs the JVM detects on the system. See the Java Platform Groups blog post "Java SE support for Docker CPU and memory limits" for more details.
REFERENCES
BUG:28390490 - JAVA SUPPORT IN DOCKER/K8S OPENSHIFT OR CANONICAL KUBERNETES