4

Red Hat Universal Base Image and Docker Hub: Why should developers care?

 2 years ago
source link: https://developers.redhat.com/articles/2021/05/25/red-hat-universal-base-image-and-docker-hub-why-should-developers-care
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Article

Red Hat Universal Base Image and Docker Hub: Why should developers care?

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?

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

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.

Who cares?

Who cares?

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?

Want more info?

My colleague, Mike Guerette, wrote the book about UBI, and you can download it for free.

Last updated: May 31, 2021


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK