Docker Engine on AlmaLinux 9 – Enterprise-Grade Containerization on a Stable RHEL-Based Platform
Docker Engine is the most widely used container runtime for building, shipping, and running applications. When deployed on AlmaLinux 9, a 1:1 binary-compatible replacement for Red Hat Enterprise Linux (RHEL) 9, Docker provides a high-performance container platform on a secure, predictable, and community-supported enterprise operating system.
Why Use AlmaLinux 9 with Docker Engine?
AlmaLinux 9 combines the robustness of RHEL with open-source licensing and long-term support, making it ideal for container workloads. The platform is designed to deliver security, stability, and reproducibility in enterprise environments.
Key benefits include:
- RHEL ABI compatibility – Run Docker exactly as on RHEL or CentOS
- Minimal image footprint – Optimized for containerized environments
- Systemd 250+ – Robust service and container process management
- Linux Kernel 5.14 LTS – Supports cgroups v2, namespaces, OverlayFS
- SELinux enabled by default – Improved access control for containerized applications
Docker on AlmaLinux is suitable for a wide range of workloads, from lightweight services to complex, multi-container platforms.
Docker Engine Architecture
Docker Engine includes:
dockerd
– the Docker daemon, managing containers and volumesdocker
CLI – the command-line tool for interacting with containers and imagescontainerd
– a high-performance container runtime that Docker delegates to- OverlayFS and bridge networking – used for efficient file system and network virtualization
Docker adheres to OCI (Open Container Initiative) standards, making it interoperable with other tools and runtimes like Podman, CRI-O, and Kubernetes.
AlmaLinux 9 System Integration
Feature | Docker Compatibility |
---|---|
SELinux | Enabled and enforceable; Docker provides default SELinux profiles |
Systemd | Used for Docker service control and logging |
FirewallD | Manages network zones and container traffic through iptables/nftables |
OverlayFS | Primary storage driver for Docker images |
Auditd and Journald | Provide full visibility into container and daemon activity |
Docker can be configured to operate with rootless mode on AlmaLinux, enhancing security for multi-user systems.
Typical Use Cases
- Development and testing of containerized applications
- Self-hosted CI/CD systems using Jenkins, GitLab Runner, or Drone CI
- Deployment of microservices-based infrastructure
- Web and API server isolation (e.g., NGINX, Node.js, Laravel)
- Packaging legacy apps into portable containers
- Edge and on-premises container orchestration
Due to its compatibility with CentOS and RHEL-based tools, AlmaLinux 9 serves as a stable base for enterprises migrating from CentOS 7 or 8.
Performance and Security Features
Feature | Docker on AlmaLinux 9 |
---|---|
Cgroups v2 | Fine-grained resource control (CPU, memory, blkio) |
Namespaces | Isolates processes, UIDs, and mounts per container |
SELinux Enforcing | Limits container access to system resources |
Seccomp Profiles | Restricts syscall access in containers |
Systemd Integration | Reliable container restart policies and log management |
Docker’s default configuration on AlmaLinux can be hardened with custom AppArmor profiles (if desired) or by tuning SELinux policies for specific workloads.
Docker vs Podman on AlmaLinux 9
Feature | Docker Engine | Podman |
---|---|---|
Daemon model | Uses dockerd daemon | Daemonless (per-invocation) |
CLI | Mature, widely supported | Mostly Docker-compatible |
Rootless support | Optional (requires setup) | Native |
Compose support | Native (docker compose ) | Available via separate package |
Kubernetes usage | Indirect (via containerd) | Compatible (via CRI-O) |
Docker is ideal for teams that prioritize compatibility with cloud-native tools, CI/CD pipelines, and Compose-based environments. Podman may be preferred in hardened, daemonless environments.
AlmaLinux 9 as a Container Host and Base Image
- The
almalinux:9
official container image provides a minimal, enterprise-ready base layer for application containers. - It is commonly used to build container images that require RPM-based package management or enterprise software compatibility.
- AlmaLinux also supports OpenSCAP, audit profiles, and FIPS-mode, making it useful in regulated industries.
Docker Engine on AlmaLinux 9 delivers enterprise-grade containerization on a secure and stable Linux foundation. With its RHEL compatibility, SELinux enforcement, and long support lifecycle, AlmaLinux is well-positioned as a replacement for CentOS in Docker-based infrastructure.
It is particularly well-suited for organizations deploying containers in data centers, edge computing environments, and hybrid cloud infrastructures that require both consistency and open-source governance.
Step 1: Set Up a Server Instance on Shape.Host
To begin, you need a clean Alma Linux 9 server. Shape.Host offers fast, secure, and reliable cloud instances perfect for container-based environments.
Follow these steps to create your VPS:
Go to https://shape.host and log in.
Click “Create” from the dashboard menu.
Select “Instance” to begin provisioning a new server.

Choose a server location based on your target audience (e.g., Europe or North America).

Select Alma Linux 9 (64-bit) as the operating system.
Pick a hosting plan with at least 2 CPUs, 2 GB RAM, and 20 GB SSD.

Finalize the setup by clicking “Create Instance”.

Once provisioning completes, note the IP address under the “Resources” tab.

How to Connect to Your Instance
On Linux/macOS:
Open a terminal and connect via SSH:
ssh root@your_server_ip
Replace your_server_ip
with the actual IP address of your instance.
On Windows (with PuTTY):
- Download and install PuTTY.
- Open PuTTY and paste your instance’s IP into the Host Name field.
- Set Port to
22
and ensure Connection Type isSSH
. - Click Open and log in as
root
.
Step 2: Install Docker Engine on Alma Linux 9
Execute the following commands one by one to install Docker Engine, with each section explained for clarity.
1. Update your system:
dnf update

2. Install dependencies:
dnf install yum-utils curl ca-certificates gnupg lsb-release

3. Create the repository directory (if not already present):
mkdir -p /etc/yum.repos.d
4. Add the Docker repository:
tee /etc/yum.repos.d/docker-ce.repo > /dev/null <<EOF
[docker-ce-stable]
name=Docker CE Stable - \$basearch
baseurl=https://download.docker.com/linux/centos/9/\$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
EOF

5. Install Docker Engine and related components:
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

6. Start the Docker service:
systemctl start docker
7. Enable Docker to start on boot:
systemctl enable docker
8. Check Docker service status:
systemctl status docker

Step 3: Verify Docker Installation
To confirm Docker is working properly, run the official hello-world container:
docker run hello-world
You should see a message confirming Docker Engine is installed and functioning as expected.

Optional Step: Uninstall Docker
If you wish to remove Docker from your system, run:
1. Uninstall Docker packages:
dnf remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2. Delete residual Docker data:
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

You have now successfully installed Docker Engine on Alma Linux 9. This setup enables you to develop, ship, and run applications inside containers efficiently. If you’re looking for a robust and scalable hosting environment, consider using Shape.Host Linux SSD VPS for your container-based infrastructure.
Start building with Shape.Host today at https://shape.host – flexible and developer-friendly cloud infrastructure made simple.