Building NGINX on Redhat UBI minimal vs. Alpine
Daniel Nashed – 8 November 2024 22:51:29
Redhat UBI minimal image
The Redhat UBI minimal is a small image with all the packages you need to run Domino.
It is smaller then the standard image and you can install additional packages to keep the image small.
The minimal image uses the micro-dnf stack, which is smaller than the yum/dnf stack used by the standard image.
Here is a blog describing the differences:
https://www.redhat.com/en/blog/introducing-red-hat-universal-base-image
Alpine Linux
But when building other applications like NGINX you have another choice. Alpine is an amazing Linux and a great base image to use.
It's not fully supporting glibc applications like Domino. But it's great for NGINX and other Linux applications.
I have written a NGINX stream module a while go which needs a matching container image with the same NGINX version.
It's a multi stage docker build where the first step builds NGINX and the stream module.
The second build stage copies it into a base container without the build environment.
When you build it on Redhat UBI minimal, the image is almost 150 MB. On Alpine Linux it's around 30 MB.
It's not just size issue. But also contains less packages with less dependencies and is also available on ARM architecture.
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
domino-nrpc-sni latest cc7fb31ff24a 10 seconds ago 29.7MB
domino-nrpc-sni latest faee6825892d 30 seconds ago 146MB
- Comments [0]