Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This article provides information on the available container images for the Microsoft Build of OpenJDK.
Linux-based images
We currently supply Linux-based container images for Ubuntu and Microsoft Azure Linux. The images are published in the Microsoft Artifact Registry located at mcr.microsoft.com/openjdk/jdk.
To pull the latest image for a specific tag, use the following command:
docker pull mcr.microsoft.com/openjdk/jdk:<tag>
The following table shows the tag to use for your Linux distribution and JDK version.
| Base OS | OpenJDK 25 | OpenJDK 21 | OpenJDK 17 | OpenJDK 11 | OpenJDK 8 (1) |
|---|---|---|---|---|---|
| Azure Linux 3.0 (2) | 25-azurelinux |
21-azurelinux |
17-azurelinux |
11-azurelinux |
8-azurelinux |
| Ubuntu 22.04 | 25-ubuntu |
21-ubuntu |
17-ubuntu |
11-ubuntu |
N/A |
| Azure Linux 3.0 Distroless | 25-distroless |
21-distroless |
17-distroless |
11-distroless |
8-distroless |
- Note (1): Images for OpenJDK 8 ship with binaries of Eclipse Temurin, from the Eclipse Adoptium project.
- Note (2): Legacy container image tags such as
25-mariner,21-mariner,17-mariner,11-mariner, and8-marinerthat were previously built with Mariner 2.0, are now mirroring the tags-azurelinux, following a rebrand and upgrade of this Linux distribution. If necessary, users can downgrade to CBL Mariner 2.0 with the tags-mariner-cm2.
Legacy End of Life (EOL) images
Legacy images based on CBL Mariner 2.0 and CBL Mariner 1.0, have reached End of Life and should not be used.
| Base OS | OpenJDK 21 | OpenJDK 17 | OpenJDK 11 | OpenJDK 8 (1) |
|---|---|---|---|---|
| CBL Mariner 2.0 | 21-mariner-cm2 |
17-mariner-cm2 |
11-mariner-cm2 |
8-mariner-cm2 |
| CBL Mariner 1.0 | N/A | 17-mariner-cm1 |
11-mariner-cm1 |
N/A |
- Note (1): Images for OpenJDK 8 ship with binaries of Eclipse Temurin, from the Eclipse Adoptium project.
Architectures
The images above are offered for both amd64 and arm64 architectures. Your container runtime shall pull the right image based on your environment. To force a pull of an image for a specific architecture, use the following:
$ docker pull --platform=linux/arm64 mcr.microsoft.com/openjdk/jdk:25-azurelinux
To force an architecture inside a Dockerfile, you may use the following:
FROM --platform=linux/arm64 mcr.microsoft.com/openjdk/jdk:25-azurelinux AS build
# ...
For more information on building multi-platform container images, check the documentation of your container runtime. For example,