This repository contains the Dockerfiles for the official Adoptium images of the Eclipse Temurin distribution (OpenJDK). These images are made available in Docker Hub.
If you are looking for the usage README then please head to the Official Docker Hub Documentation.
In general, we support Ubuntu, CentOS and Windows containers.
Alpine (Musl) will be supported in the near future.
As these are official Docker Hub images, Docker Inc maintains the base image and so any CVEs in the base O/S layer gets updated by them in short order. For JDK version updates, we release on a quarterly cadence whenever a Patch Set Update (PSU) is available.
This section is for maintainers of the containers repository.
A Updater GitHub Action runs every night which triggers the
./update_all.sh
script to update the Dockerfiles by creating a Pull Request containing any changes.
./update_all.sh
is a wrapper script to control what is passed into ./update_multiarch.sh
.
./update_multiarch.sh
loops around the configuration for which versions and architectures are supported in ./common_functions.sh
and uses a bunch of small functions in ./dockerfile_functions.sh
to write the Dockerfiles.
During a release you can also run ./update_all.sh
manually by heading to The GitHub Action definition and clicking the Run Workflow button and making sure the main
(default) branch is selected, then click the next Run Workflow button.
Once the PR is created you can review that PR (which itself tests all of the Docker Images that we have generate configuration for).
Once you've merged the PR, you can update the official Docker Hub manifest. This is done by running the following command in the containers repo on your local machine:
# Get the latest changes
git fetch --all
# Checkout the main branch
git checkout main
./dockerhub_doc_config_update.sh
This script will create a file called eclipse-temurin.
Then edit the Manifest on Docker Hub, replacing all of the contents.
At the bottom of that edit screen add a title and description for the commit and click on the Propose Change button.
In the next screen click on the Create Pull Request Button.
Once that PR has been created it will be automatically tested and reviewed by Docker Hub staff and eventually released.
It can be useful to look at the diff output created by one of the Docker Hub GitHub Actions on the Pull Request. This output should not be read as a traditional PR (since Docker Hub bots do move things around, so you may see what looks like odd deletions) but as a sanity check to make sure you see the platforms/architectures that you expect.