The UBI OpenJDK containers are full fat developer containers: they've got the full OpenJDK distribution in them (including javac etc.); they include Maven and there are various quality-of-life additions such as a Prometheus agent for metrics gathering in OpenShift and a run-java script to control launching the eventual application, as well as OpenShift Source-To-Image (S2I) integration.

We've had a number of customers request that we produce some runtime-only images. It took a while to properly scope the request, as each person who wanted such a thing wanted a different subset of functionality included from the existing images. One consistent request though related to image size: It became clear that the runtime images should be as minimal as possible.

Last week we launched ubi8/openjdk-8-runtime and ubi8/openjdk-11-runtime containers which weight in at 106.M1iB and 119.7 MiB respectively. They are extremely bare-bones, containing just a subset of the OpenJDK distribution (that which is packaged as java-N-openjdk-headless in RHEL) on top of the UBI minimal flavour base images.

To explain one way these could be use in an OpenShift environment I wrote a blog post for Red Hat Developer: Build lean Java containers with the new Red Hat Universal Base Images OpenJDK runtime images.

We've got a couple of avenues under exploration in this area which should result in even leaner or more tailored images in the future. I'll write more when we have something to show!


Comments