Introducing our new CEO Don Johnson - Read More

bellsoft/liberica-runtime-container

Verified Publisher

By BellSoft

Updated less than a minute ago

Alpaquita based image for Liberica JDK and JRE.

Image
Languages & Frameworks
Integration & Delivery
Internet of Things
26

1M+

bellsoft/liberica-runtime-container

BellSoft delivers an end-to-end solution for cloud-native Java applications — Liberica JDK container with Alpaquita Linux, the only Linux tailor-made for Java, and a unified Java runtime Liberica JDK.

What is Alpaquita Linux?

Alpaquita Linux is a lightweight operating system optimized for the deployment of cloud native applications. It is an optimal solution for running applications with various workloads and is characterized by

  • Userspace binaries protection
  • Four malloc implementations in total
  • Optimized standard C library implementation ‘musl perf’, both small and performant
  • Base image size of 3.22MB, which is perfect for running small and performant containers
  • Docker and QEMU support

Alpaquita Linux requires a small amount of resources to run. The extra modules and additional packages can be installed from Alpaquita apk repository depending on the project requirements. Alpaquita comes in two versions: one based on optimized musl libc, and the other one on glibc libc.

Developer and maintainer: BellSoft

For documentation and support information, refer to the official page.

What is Liberica JDK?

Liberica JDK is free and 100% open-source Progressive Java Runtime for modern Java deployments. It is developed and supported by BellSoft, a major OpenJDK contributor. Application development with Liberica JDK is

  • Flexible. Liberica JDK supports the widest range of present-day architectures and operating systems, which makes it a unified Java runtime for desktop, server, cloud, and embedded use cases.
  • Cost- and time-efficient. BellSoft produces the smallest containers in the world that enable companies to minimize deployment time and reduce cloud expenses.
  • Secure. Liberica JDK is TCK-verified for Java SE specifications and thoroughly tested for exposures before every release. The CPU release cycle helps to deliver timely security patches and bug fixes to keep the runtime secure and performant at all times.

Liberica JDK is recommended and used by Spring as the end-to-end solution for Spring Native applications.

How to choose an optimal Java image?

We compiled an interactive scheme that will help you decide which BellSoft’s image is perfect for your project. How to choose an optimal java image

What’s in this image?

This repository contains Alpaquita images with Liberica JDK Lite and JRE Lite.

  • jdk — Liberica JDK Lite version optimized for the Cloud
  • jdk-all — an image with Liberica JDK that can be used to create a custom runtime with a help of jlink tool
  • jre — Liberica JRE (only the runtime without the rest of JDK tools) for running Java applications

There are images for each supported C library implementation: musl or glibc. Our musl perf is 100% compatible with stock musl, so if you have previously used a musl-based system such as Alpine, the migration won’t cause any issues. In case your OS is glibc-based and switching libc is off the table, consider Alpaquita Linux with glibc, which is more performant than popular glibc-based systems in some cases. For more information on Alpaquita Linux performance, refer to the comparative study overview.

Each libc type comes with an OS version: LTS or Stream, the latter being an upstream development branch.

To increase JRE startup speed there are images with the Class Data Sharing JRE archives preinstalled.

Images are provided in 2 versions - regular and slim. The slim version (with 'slim' in its tag) is smaller, as it does not ship the APK package manager and consists of a single layer.

Tags

Tag name structure:

[JDK type]-Java version-[crac]-[cds]-[slim]-[OS release]-[libc type],

where:

  • JDK type is the JDK type (jre, jdk, jdk-all)
  • Java version is the Java version string (major version or the full version string).
  • crac is present for images which provide Coordinated Restore at Checkpoint (CRAC) JDKs
  • cds is present for images which contain preinstalled Class Data Sharing JRE archives
  • slim is present for slim images
  • OS version is the OS version (currently only stream)
  • libc type - libc type (glibc or musl)

Examples:

  • jdk-17-glibc - a JDK Java 17 glibc image
  • jre-21-crac-slim-glibc - a slim Glibc image with Liberica 21 CRaC JRE.
  • jre-11-slim-musl - a JRE Java 11 slim image with musl
  • jre-8u372_7-slim-stream-glibc -a JRE Java 8u273p7 slim Alpaquita Linux stream glibc image.

License

As with all Docker images, these also contain other software, which may be distributed under other licenses.

The list of installed software components and their licenses can be retrieved by executing the apk list -I command in the regular image, or grep -E '^[PVL]:' /var/lib/apk/db/installed in the slim image.

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

View license information for the software contained in this image.

Docker Pull Command

docker pull bellsoft/liberica-runtime-container