Visit Azul.com Support

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

azul_zulu:tag

Debian13

azul_zulu:tag-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

azul/zulu-openjdk

Debian

azul/zulu-openjdk-debian

Alpine Linux

azul/zulu-openjdk-alpine

CentOS

azul/zulu-openjdk-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