Building a container for production requires more than a base image. It requires a stack that's reliable and supported from that start. While the Red Hat Universal Base Image (UBI) provides a redistributable foundation, it does not include every package. To access more content today, you can use a no-cost Red Hat Developer subscription to gain full access to Red Hat Enterprise Linux (RHEL) for container development and testing.
UBI packages: What you are missing
One of the advantages of UBI is that it is lean and easy to share. However, it only includes a subset of the full RHEL package set. If you build modern workloads, you might find that essential tools and libraries are not in UBI-only repositories.
With RHEL, you gain access to a much larger library of packages including databases like PostgreSQL, MySQL, and MariaDB, included in the package repositories for RHEL along with additional runtimes, tools, and libraries available in Red Hat's AppStream, Supplementary, Extensions, and CodeReady Linux Builder repositories. You also gain access to older package versions compared to UBI, which only ships the latest version. A full RHEL subscription allows you to roll back or pin specific older dependencies.
Self-service developer access
Whether you're learning on your own or doing work for a business, you can obtain a no-cost subscription, giving you access to RHEL software content and online services through developers.redhat.com.
- Red Hat Developer Subscription for Individuals is for personal projects and individual learning. It provides a full RHEL environment with up to 16 entitlements at no cost.
- RHEL for Business Developers is for developing business workloads for an organization. It allows you to build on a platform with up to 25 entitlements that matches your production environment.
Subscription by inheritance
You can enable RHEL content access either automatically through a Linux host, or through Podman Desktop.
From a Linux host
If you develop on a subscribed RHEL system (or Fedora Linux or CentOS Stream host) that you've subscribed to using the subscription-manager package, then your containers use that subscription. A dnf install command inside your UBI container recognizes the host's keys to access full RHEL repositories.
On Fedora or CentOS Stream, you can install the subscription-manager command using dnf:
sudo dnf install subscription-managerUse the subscription-manager command to be prompted to provide credentials to your no-cost developer subscription for RHEL:
sudo subscription-manager registerFrom Podman Desktop
You can use Podman Desktop on Windows, Mac, or a Linux distribution along with the Red Hat Account extension. To set this up, launch Podman Desktop and click the Settings icon and select Registries.
In the Registries pane (shown in Figure 1), enter your credentials to enable the Red Hat Container Registry registry.redhat.io.

Next, click the Accounts icon and select Manage Authentication. Click the Sign in button, as shown in Figure 2.

This launches your browser, which allows you to sign in to your Red Hat Developer account, as shown in Figure 3.
Once configured, your local environment is registered. Your container has access to Red Hat repositories while you build the image.
Testing your subscription
You can test that your subscription is working by building a simple container that uses a package not available in the UBI repository. For this article, I use a UBI10 container and install MariaDB, which is only available from the standard RHEL AppStream repository and not the UBI one.
Create a file named Containerfile with the following contents:
# Grab a UBI 10 image
FROM registry.redhat.io/ubi10/ubi:latest
# Install mariadb
RUN dnf install mariadb-server && dnf clean allNow test it with:
podman build -t rhel_subscriptions -f Containerfile .If you don't have a subscription, your build fails with the following messages:
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
Red Hat Universal Base Image 10 (RPMs) - BaseOS 173 kB/s | 183 kB 00:01
Red Hat Universal Base Image 10 (RPMs) - AppStr 355 kB/s | 387 kB 00:01
Red Hat Universal Base Image 10 (RPMs) - CodeRe 22 kB/s | 18 kB 00:00
No match for argument: mariadb-server
Error: Unable to find a match: mariadb-server
Error: building at STEP "RUN dnf install mariadb-server && dnf clean all": while running runtime: exit status 1Once you've established a subscription successfully, the same process succeeds, and you see the image upgrade to RHEL repositories during the install process:
Updating Subscription Management repositories.
subscription-manager is operating in container mode.
Red Hat Enterprise Linux 10 for x86_64-AppStr 4.1 MB/s | 4.3 MB
Red Hat Enterprise Linux 10 for x86_64-BaseOS 7.5 MB/s | 47 MB
Red Hat Universal Base Image 10 (RPMs)-BaseOS 499 kB/s | 183 kB
Red Hat Universal Base Image 10 (RPMs)-AppStr 917 kB/s | 387 kB
Red Hat Universal Base Image 10 (RPMs)-CodeRe 74 kB/s | 18 kB
Dependencies resolved.Get a subscription and start using RHEL images
Using a subscribed RHEL container image early reduces issues when you build and manage container-based applications. When you run these containers in RHEL or Red Hat OpenShift, you gain enhanced security monitoring through Red Hat Lightspeed for Red Hat Enterprise Linux and full compatibility with your production environment.
Sign up and start building with the full RHEL catalog with one of our no-cost subscriptions: