-
Maintained by:
Adoptium -
Where to get help:
Adoptium Slack; Adoptium Support
(See "What's the difference between 'Shared' and 'Simple' tags?" in the FAQ.)
8u382-b05-jdk-alpine
,8-jdk-alpine
,8-alpine
8u382-b05-jdk-focal
,8-jdk-focal
,8-focal
8u382-b05-jdk-jammy
,8-jdk-jammy
,8-jammy
8u382-b05-jdk-centos7
,8-jdk-centos7
,8-centos7
8u382-b05-jdk-ubi9-minimal
,8-jdk-ubi9-minimal
,8-ubi9-minimal
8u382-b05-jdk-windowsservercore-ltsc2022
,8-jdk-windowsservercore-ltsc2022
,8-windowsservercore-ltsc2022
8u382-b05-jdk-nanoserver-ltsc2022
,8-jdk-nanoserver-ltsc2022
,8-nanoserver-ltsc2022
8u382-b05-jdk-windowsservercore-1809
,8-jdk-windowsservercore-1809
,8-windowsservercore-1809
8u382-b05-jdk-nanoserver-1809
,8-jdk-nanoserver-1809
,8-nanoserver-1809
8u382-b05-jre-alpine
,8-jre-alpine
8u382-b05-jre-focal
,8-jre-focal
8u382-b05-jre-jammy
,8-jre-jammy
8u382-b05-jre-centos7
,8-jre-centos7
8u382-b05-jre-ubi9-minimal
,8-jre-ubi9-minimal
8u382-b05-jre-windowsservercore-ltsc2022
,8-jre-windowsservercore-ltsc2022
8u382-b05-jre-nanoserver-ltsc2022
,8-jre-nanoserver-ltsc2022
8u382-b05-jre-windowsservercore-1809
,8-jre-windowsservercore-1809
8u382-b05-jre-nanoserver-1809
,8-jre-nanoserver-1809
11.0.20_8-jdk-alpine
,11-jdk-alpine
,11-alpine
11.0.20_8-jdk-focal
,11-jdk-focal
,11-focal
11.0.20_8-jdk-jammy
,11-jdk-jammy
,11-jammy
11.0.20_8-jdk-centos7
,11-jdk-centos7
,11-centos7
11.0.20_8-jdk-ubi9-minimal
,11-jdk-ubi9-minimal
,11-ubi9-minimal
11.0.20_8-jdk-windowsservercore-ltsc2022
,11-jdk-windowsservercore-ltsc2022
,11-windowsservercore-ltsc2022
11.0.20_8-jdk-nanoserver-ltsc2022
,11-jdk-nanoserver-ltsc2022
,11-nanoserver-ltsc2022
11.0.20_8-jdk-windowsservercore-1809
,11-jdk-windowsservercore-1809
,11-windowsservercore-1809
11.0.20_8-jdk-nanoserver-1809
,11-jdk-nanoserver-1809
,11-nanoserver-1809
11.0.20_8-jre-alpine
,11-jre-alpine
11.0.20_8-jre-focal
,11-jre-focal
11.0.20_8-jre-jammy
,11-jre-jammy
11.0.20_8-jre-centos7
,11-jre-centos7
11.0.20_8-jre-ubi9-minimal
,11-jre-ubi9-minimal
11.0.20_8-jre-windowsservercore-ltsc2022
,11-jre-windowsservercore-ltsc2022
11.0.20_8-jre-nanoserver-ltsc2022
,11-jre-nanoserver-ltsc2022
11.0.20_8-jre-windowsservercore-1809
,11-jre-windowsservercore-1809
11.0.20_8-jre-nanoserver-1809
,11-jre-nanoserver-1809
17.0.8_7-jdk-alpine
,17-jdk-alpine
,17-alpine
17.0.8_7-jdk-focal
,17-jdk-focal
,17-focal
17.0.8_7-jdk-jammy
,17-jdk-jammy
,17-jammy
17.0.8_7-jdk-centos7
,17-jdk-centos7
,17-centos7
17.0.8_7-jdk-ubi9-minimal
,17-jdk-ubi9-minimal
,17-ubi9-minimal
17.0.8_7-jdk-windowsservercore-ltsc2022
,17-jdk-windowsservercore-ltsc2022
,17-windowsservercore-ltsc2022
17.0.8_7-jdk-nanoserver-ltsc2022
,17-jdk-nanoserver-ltsc2022
,17-nanoserver-ltsc2022
17.0.8_7-jdk-windowsservercore-1809
,17-jdk-windowsservercore-1809
,17-windowsservercore-1809
17.0.8_7-jdk-nanoserver-1809
,17-jdk-nanoserver-1809
,17-nanoserver-1809
17.0.8_7-jre-alpine
,17-jre-alpine
17.0.8_7-jre-focal
,17-jre-focal
17.0.8_7-jre-jammy
,17-jre-jammy
17.0.8_7-jre-centos7
,17-jre-centos7
17.0.8_7-jre-ubi9-minimal
,17-jre-ubi9-minimal
17.0.8_7-jre-windowsservercore-ltsc2022
,17-jre-windowsservercore-ltsc2022
17.0.8_7-jre-nanoserver-ltsc2022
,17-jre-nanoserver-ltsc2022
17.0.8_7-jre-windowsservercore-1809
,17-jre-windowsservercore-1809
17.0.8_7-jre-nanoserver-1809
,17-jre-nanoserver-1809
20.0.2_9-jdk-alpine
,20-jdk-alpine
,20-alpine
20.0.2_9-jdk-jammy
,20-jdk-jammy
,20-jammy
20.0.2_9-jdk-ubi9-minimal
,20-jdk-ubi9-minimal
,20-ubi9-minimal
20.0.2_9-jdk-windowsservercore-ltsc2022
,20-jdk-windowsservercore-ltsc2022
,20-windowsservercore-ltsc2022
20.0.2_9-jdk-nanoserver-ltsc2022
,20-jdk-nanoserver-ltsc2022
,20-nanoserver-ltsc2022
20.0.2_9-jdk-windowsservercore-1809
,20-jdk-windowsservercore-1809
,20-windowsservercore-1809
20.0.2_9-jdk-nanoserver-1809
,20-jdk-nanoserver-1809
,20-nanoserver-1809
20.0.2_9-jre-alpine
,20-jre-alpine
20.0.2_9-jre-jammy
,20-jre-jammy
20.0.2_9-jre-ubi9-minimal
,20-jre-ubi9-minimal
20.0.2_9-jre-windowsservercore-ltsc2022
,20-jre-windowsservercore-ltsc2022
20.0.2_9-jre-nanoserver-ltsc2022
,20-jre-nanoserver-ltsc2022
20.0.2_9-jre-windowsservercore-1809
,20-jre-windowsservercore-1809
20.0.2_9-jre-nanoserver-1809
,20-jre-nanoserver-1809
8u382-b05-jdk
,8-jdk
,8
:8u382-b05-jdk-windowsservercore
,8-jdk-windowsservercore
,8-windowsservercore
:8u382-b05-jdk-nanoserver
,8-jdk-nanoserver
,8-nanoserver
:8u382-b05-jre
,8-jre
:8u382-b05-jre-windowsservercore
,8-jre-windowsservercore
:8u382-b05-jre-nanoserver
,8-jre-nanoserver
:11.0.20_8-jdk
,11-jdk
,11
:11.0.20_8-jdk-windowsservercore
,11-jdk-windowsservercore
,11-windowsservercore
:11.0.20_8-jdk-nanoserver
,11-jdk-nanoserver
,11-nanoserver
:11.0.20_8-jre
,11-jre
:11.0.20_8-jre-windowsservercore
,11-jre-windowsservercore
:11.0.20_8-jre-nanoserver
,11-jre-nanoserver
:17.0.8_7-jdk
,17-jdk
,17
:17.0.8_7-jdk-windowsservercore
,17-jdk-windowsservercore
,17-windowsservercore
:17.0.8_7-jdk-nanoserver
,17-jdk-nanoserver
,17-nanoserver
:17.0.8_7-jre
,17-jre
:17.0.8_7-jre-windowsservercore
,17-jre-windowsservercore
:17.0.8_7-jre-nanoserver
,17-jre-nanoserver
:20.0.2_9-jdk
,20-jdk
,20
,latest
:20.0.2_9-jdk-windowsservercore
,20-jdk-windowsservercore
,20-windowsservercore
:20.0.2_9-jdk-nanoserver
,20-jdk-nanoserver
,20-nanoserver
:20.0.2_9-jre
,20-jre
:20.0.2_9-jre-windowsservercore
,20-jre-windowsservercore
:20.0.2_9-jre-nanoserver
,20-jre-nanoserver
:
-
Where to file issues:
GitHub; The adoptium support page has more information on quality, roadmap and support levels for Eclipse Temurin builds. Vulnerabilities not related to Eclipse Temurin itself should be be raised to their respective projects (e.g Ubuntu vulnerabilities need to be raised directly to the Ubuntu project). -
Supported architectures: (more info)
amd64
,arm32v7
,arm64v8
,ppc64le
,s390x
,windows-amd64
-
Published image artifact details:
repo-info repo'srepos/eclipse-temurin/
directory (history)
(image metadata, transfer size, etc) -
Image updates:
official-images repo'slibrary/eclipse-temurin
label
official-images repo'slibrary/eclipse-temurin
file (history) -
Source of this description:
docs repo'seclipse-temurin/
directory (history)
The images in this repository contain OpenJDK binaries that are built by Eclipse Temurin.
The Eclipse Temurin project provides code and processes that support the building of runtime binaries and associated technologies that are high performance, enterprise-caliber, cross-platform, open-source licensed, and Java SE TCK-tested for general use across the Java ecosystem.
JRE images are available for all versions of Eclipse Temurin but it is recommended that you produce a custom JRE-like runtime using jlink
(see usage below).
Yes! Add your certificates to /certificates
inside the container (e.g. by using a volume) and set the environment variable USE_SYSTEM_CA_CERTS
on the container to any value. With Docker CLI this might look like this:
$ docker run -v $(pwd)/certs:/certificates/ -e USE_SYSTEM_CA_CERTS=1 eclipse-temurin:11
The certificates would get added to the system CA store, which would in turn be converted to Java's truststore. The format of the certificates depends on what the OS of the base image used expects, but PEM format with a .crt
file extension is a good bet. Please note: this feature is currently not available for Windows-based images.
To run a pre-built jar file with the latest OpenJDK 11, use the following Dockerfile:
FROM eclipse-temurin:11
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 are using a distribution that we don't provide an image for you can copy the JDK using a similar Dockerfile to the one below:
# Example
FROM <base image>
ENV JAVA_HOME=/opt/java/openjdk
COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME
ENV PATH="${JAVA_HOME}/bin:${PATH}"
On OpenJDK 11+, a JRE can be generated using jlink
, see the following Dockerfile:
# Example of custom Java runtime using jlink in a multi-stage container build
FROM eclipse-temurin:11 as jre-build
# Create a custom Java runtime
RUN $JAVA_HOME/bin/jlink \
--add-modules java.base \
--strip-debug \
--no-man-pages \
--no-header-files \
--compress=2 \
--output /javaruntime
# Define your base image
FROM debian:buster-slim
ENV JAVA_HOME=/opt/java/openjdk
ENV PATH "${JAVA_HOME}/bin:${PATH}"
COPY --from=jre-build /javaruntime $JAVA_HOME
# Continue with your application deployment
RUN mkdir /opt/app
COPY japp.jar /opt/app
CMD ["java", "-jar", "/opt/app/japp.jar"]
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 eclipse-temurin:11.0.12_7-jdk
CMD ["java", "-jar", "/opt/app/japp.jar"]
docker build -t japp .
docker run -it -v /path/on/host/system/jars:/opt/app japp
The eclipse-temurin
images come in many flavors, each designed for a specific use case.
This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
Some of these tags may have names like focal or jammy in them. These are the suite code names for releases of Ubuntu and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Ubuntu.
This image is based on the popular Alpine Linux project, available in the alpine
official image. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
This variant is useful when final image size being as small as possible is your primary concern. The main caveat to note is that it does use musl libc instead of glibc and friends, so software will often run into issues depending on the depth of their libc requirements/assumptions. See this Hacker News comment thread for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.
To minimize image size, it's uncommon for additional related tools (such as git
or bash
) to be included in Alpine-based images. Using this image as a base, add the things you need in your own Dockerfile (see the alpine
image description for examples of how to install packages if you are unfamiliar).
This image is based on Windows Server Core (microsoft/windowsservercore
). As such, it only works in places which that image does, such as Windows 10 Professional/Enterprise (Anniversary Edition) or Windows Server 2016.
For information about how to get Docker running on Windows, please see the relevant "Quick Start" guide provided by Microsoft:
The Dockerfiles and associated scripts are licensed under the Apache License, Version 2.0.
Licenses for the products installed within the images:
- 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 repo-info
repository's eclipse-temurin/
directory.
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.