Skip to content

A docker container supporting the latest Java versions for arm/v7 and other architectures.

License

Notifications You must be signed in to change notification settings

retrodaredevil/docker-lavender-jre

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lavender JRE

A Docker container supporting the latest Java versions for arm/v7 and other architectures.

ghcr.io/retrodaredevil/lavender-jre

docker pull ghcr.io/retrodaredevil/lavender-jre:21-ubuntu-noble
docker run --rm ghcr.io/retrodaredevil/lavender-jre:21-ubuntu-noble java --version

Features

Updated Regularly

The images pushed to GitHub Central Repository are updated every Tuesday at 10:37 UTC (05:37 EST or 06:37 EDT). Please keep this in mind for any dependency you put upon this project in your CI/CD. Additionally, builds may be updated at any time when I decide to push changes to this repository.

Many Supported Architectures

Each variant should support all the architectures of its base image. For example, Ubuntu Noble (24.04) supports 6 different architectures. lavender-jre:21-ubuntu-noble supports all 6 of those architectures!

As close to the base image as possible

Don't be scared! Take a look at the Dockerfile. This is about as simple as you can get. Since this has a single layer on top of the base image, you can use it as if it was the base image with Java installed on it.

You can also extend this image by using it as a base image in your own Dockerfile. Since this image already has Java installed, your build times should shrink considerably because of how much space Java can take up.

Variants

We should have variants for the following:

Exceptions

I've found that these specific architectures could not be supported:

  • linux/mips64le
    • This affects debian:bookworm* base images, as Debian Bookworm is the only base Docker image that supports linux/mips64le
    • I plan to test this architecture on new base images but if the build fails for linux/mips64le on a new base image, I will not support linux/mips64le.

Why Make This?

There are countless other Docker images containing JREs, but many of them don't have arm/v7 support, which means not supporting Raspberry Pi 2 v1.2s or Raspberry Pi 3s.

lavender-jre will always be a simple Debian or Debian derivative based Docker image with the corresponding OpenJDK package installed.

Why no Debian Base Images for Java 21?

Debian Bookworm and older versions do not have Java 21 in their repositories:

Once a stable Debian version supports Java 21, support should be added for it.

Building Yourself

Builds are automated, but if you are contributing or would like to build these yourself, you can do this:

platforms="linux/amd64,linux/arm/v7"
docker buildx create --use --platform "$platforms"
docker buildx build --build-arg PACKAGE_NAME=openjdk-21-jre --platform "$platforms" -t lavender-jre:test-local-latest .

About

A docker container supporting the latest Java versions for arm/v7 and other architectures.

Topics

Resources

License

Stars

Watchers

Forks

Packages