Red Hat Universal Base Image (UBI) is Red Hat's container-ready operating system image that allows you to build smaller images for use in container-based systems. With the announcement that UBI images are now “Verified Publisher” images on Docker Hub, developers now have nothing standing between them and their application running on Red Hat Enterprise Linux (RHEL). Freely redistributable Linux images that are OCI-compliant (Open Container Initiative) and ready for Kubernetes can be prepared with a simple
FROM command in your Dockerfile.
Why stop at one UBI image?
What's more, there isn't just one UBI image available; there are several. As the press release notes, four are immediately available at Docker Hub:
- Standard provides the necessary runtimes and YUM repositories to build, deploy, and share UBI-based containers.
- Minimal is a UBI image that provides only the bare essentials needed for a lightweight RHEL-based image.
- Multi-service is designed for container images that are intended to run multiple application services by also including systemd.
- Micro, newly announced with Red Hat Enterprise Linux 8.4, delivers the smallest UBl footprint for edge computing and other remote applications.
The advantage of UBI
These images make life much easier as a developer. No longer do I need to log in to my Red Hat account and use their registry. Instead, my (.NET Core application, for example) Dockerfile can look like this:
FROM redhat/ubi8-minimal RUN mkdir dotnetmvc WORKDIR /dotnetmvc ADD ./bin/Release/net5.0/rhel.8-x64/publish/. . EXPOSE 5000 CMD ["./dotnetmvc"]
FROM redhat/ubi8-minimal and I'm good to go. What's great is that this can be distributed and my application will run on enterprise-grade RHEL, no matter where it's being hosted.
As an aside to .NET developers: By publishing a standalone application and using this UBI8-minimal base image (instead of the older UBI image with .NET included), I took my .NET application's image from 831MB down to 205MB. This is a good opportunity to experiment with different base images to reduce image size.
When it comes to Red Hat's UBI images being available at Docker Hub, the bottom line is this: As a developer, you no longer need to care. Pull the UBI image and keep coding.
Want more info?
My colleague, Mike Guerette, wrote the book about UBI, and you can download it for free.Last updated: May 31, 2021