adoptopenjdkEstimated reading time: 5 minutes
Official Images for OpenJDK + HotSpot and OpenJDK + Eclipse OpenJ9 binaries built by AdoptOpenJDK.
GitHub repo: https://github.com/AdoptOpenJDK/openjdk-docker
Supported tags and respective
Supported Docker versions:
the latest release (down to 1.6 on a best-effort basis)
The images in this repository contain OpenJDK binaries that are built by AdoptOpenJDK and contain both HotSpot and Eclipse OpenJ9 JVMs.
What is AdoptOpenJDK ?
AdoptOpenJDK is a community of Java™ user group members, Java developers and vendors who are advocates of OpenJDK, the open source project which forms the basis of the Java programming language and platform. AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. AdoptOpenJDK builds and tests binaries for different source code streams based upon OpenJDK. Our binaries undergo extensive testing, and the Releases have passed all the available OpenJDK test suites and our additional tests (donated by the community), ensuring the best quality binary available.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.
What is Eclipse OpenJ9 ?
Eclipse OpenJ9 is a high performance, scalable, Java virtual machine (JVM) implementation that has a proven track record of running Java applications in production environments. Contributed to the Eclipse project by IBM, the OpenJ9 JVM underpins the IBM SDK, Java Technology Edition product that is a core component of many IBM Enterprise software products. Continued development of OpenJ9 at the Eclipse foundation ensures wider collaboration, fresh innovation, and the opportunity to influence the development of OpenJ9 for the next generation of Java applications. OpenJDK binaries that include Eclipse OpenJ9 are available through AdoptOpenJDK.
There are two types of Docker images here: the Java Development Kit (JDK) and the Java Runtime Environment (JRE). These images can be used as the basis for custom built images for running your applications.
Docker Images for the following architectures are now available:
- amd64, arm32v7, arm64v8, ppc64le, s390x
- Eclipse OpenJ9
- amd64, ppc64le, s390x
How to use this Image
To run a pre-built jar file with the latest OpenJDK 11 with HotSpot JRE image, use the following Dockerfile:
FROM adoptopenjdk:11-jre-hotspot RUN mkdir /opt/app COPY japp.jar /opt/app CMD ["java", "-jar", "/opt/app/japp.jar"]
To do the same with the latest OpenJDK 11 with Eclipse OpenJ9 JRE image, use the following Dockerfile:
FROM adoptopenjdk:11-jre-openj9 RUN mkdir /opt/app COPY japp.jar /opt/app CMD ["java", "-jar", "/opt/app/japp.jar"]
You can build and run the Docker Image as shown in the following example:
docker build -t japp . docker run -it --rm japp
If you want to place the jar file on the host file system instead of inside the container, you can mount the host path onto the container by using the following commands:
FROM adoptopenjdk:12.0.1_12-jdk-openj9-0.14.1 CMD ["java", "-jar", "/opt/app/japp.jar"]
docker build -t japp . docker run -it -v /path/on/host/system/jars:/opt/app japp
The Dockerfiles and associated scripts are licensed under the Apache License, Version 2.0.
Licenses for the products installed within the images:
- Eclipse OpenJ9 + OpenJDK: The combined works license is GNU GPL v2 with Classpath Exception.
- OpenJDK: The project license is GNU GPL v2 with Classpath Exception.
As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
Some additional license information which was able to be auto-detected might be found in the
As for any pre-built image usage, it is the image user’s responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.library, sample, adoptopenjdk