OS-as-container deployment, immutable infrastructure, and container-based system updates on RHEL 10.
RHEL 10 introduces bootc — an OS-as-container deployment model. The entire OS is packaged as a container image, enabling atomic upgrades, rollback, and immutable infrastructure.
# Check bootc status
sudo bootc status
# System information
sudo bootc info
# List available updates
sudo bootc update-check# Update the OS (atomic, rollback-capable)
sudo bootc update
# Reboot to activate new OS version
sudo reboot
# Rollback to previous version
sudo bootc reset
sudo reboot
# Verify active booted image
sudo bootc status# Example Containerfile for custom OS image
# FROM registry.access.redhat.com/ubi10/ubi
# RUN dnf install -y httpd && dnf clean all
# RUN systemctl enable httpd
# COPY server.conf /etc/httpd/conf.d/
# Build the OS image
buildah bud -t myos:latest .
# Push to registry
buildah push myos:latest docker://myregistry.example.com/myos:latest# Install RHEL 10 in image mode from ISO
# At installer, select 'Image Install' and provide container image URL
# Or use bootc to install to a target device
sudo bootc install to-disk /dev/sda --transport=registry myregistry.example.com/myos:latest
# Configure container registry auth for the installed system
sudo bootc registry login myregistry.example.com# Install packages on top of the container OS
sudo bootc pkg install nginx
# Remove layered packages
sudo bootc pkg remove nginx
# List layered packages
sudo bootc pkg list
# After package changes, update and reboot
sudo bootc update
sudo reboot