Running Azul Zulu CA in a Docker Container
Community Availability (CA) distributions are Azul Zulu Builds of OpenJDK that are free to download and use.
Use the following instructions to install Azul Zulu CA in a container.
Prerequisites
Install Docker by following the Docker documentation.
Docker Hub Repositories
Since early 2026, Azul Zulu CA images are available as Docker Official Images on hub.docker.com/_/azul-zulu. Currently only based on Debian, with more base system images planned for the near future. Please let us know, by creating a ticket in AzulSystems/azul-zulu-images, if you have a specific base system image in mind that you would like to see supported.
While the official images are being extended, you can still use the already existing images from hub.docker.com/r/azul/zulu-openjdk.
Using Azul Zulu CA from Docker Official Images
Azul Zulu is part of Docker’s Official Images program, meaning you can pull it directly with FROM azul-zulu, without the need for a namespace or third-party repository. Official Images are maintained by Azul and are continuously scanned for vulnerabilities and built by Docker. This makes them a trusted baseline for production container builds.
In short: it’s the same Azul Zulu OpenJDK you already know, but with the supply chain transparency and maintenance guarantees that enterprise teams expect from a base image.
Docker Official Images with CA distributions are available from Docker, based on the following tag system:
| OS | Tag Name |
|---|---|
Debian |
|
Debian13 |
|
|
Note
|
If you need a specific Java version, base OS combination, or architecture that isn’t currently available yet as an Official image, create an issue on GitHub in AzulSystems/azul-zulu-images. |
To pull a specific image, use the corresponding image name in the docker pull command.
For example, to pull the latest Java 21 image based on Debian, run:
# JDK
docker pull azul-zulu:21
# JRE
docker pull azul-zulu:21-jre
You can check the available image tags on Docker Image Tags.
Using Azul Zulu CA from Docker Hub
Docker images with CA distributions are available from Docker Hub, based on the following operating systems:
| OS | Image Name |
|---|---|
Ubuntu |
|
Debian |
|
Alpine Linux |
|
CentOS |
|
|
Note
|
These images will be deprecated later in 2026, as they are now available as Docker Official Images. Please switch to using the official images, as described in the Using Azul Zulu CA from Docker Official Images. |
To pull a specific image, use the corresponding image name in the docker pull command.
For example, to pull the Alpine Linux image with Azul Zulu JDK 21, run:
docker pull azul/zulu-openjdk-alpine:21
You can check the available image tags on Docker Image Tags.
Run Java Apps With Zulu CA in Docker
You can test the Docker image by running the following command in a terminal:
# Docker Official
docker run --rm azul-zulu:25 java -version
# Docker Hub
docker run --rm azul/zulu-openjdk:25 java -version
The command allocates a terminal and runs java.
It prints a message similar to this:
openjdk version "25.0.2" 2026-01-20 LTS
OpenJDK Runtime Environment Zulu25.32+21-CA (build 25.0.2+10-LTS)
OpenJDK 64-Bit Server VM Zulu25.32+21-CA (build 25.0.2+10-LTS, mixed mode, sharing)
If you see this message in your terminal, you’ve successfully executed java inside a container.
The command above simply executes java.
To run a Java application, you must provide your application classes and resources to the java command.
You do this by mounting a local directory from the container.
As an example, let’s assume that your application files are located in a single directory.
You would normally run the app by executing java MyApp in that directory.
Use the -v option of docker run to make the directory available inside the container.
The command might look like this:
docker run --rm \
-v ${PWD}:/usr/src/project \
-e CLASSPATH=/usr/src/project \
azul-zulu:25 java MyApp