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 volumes
  • docker CLI – the command-line tool for interacting with containers and images
  • containerd – 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

FeatureDocker Compatibility
SELinuxEnabled and enforceable; Docker provides default SELinux profiles
SystemdUsed for Docker service control and logging
FirewallDManages network zones and container traffic through iptables/nftables
OverlayFSPrimary storage driver for Docker images
Auditd and JournaldProvide 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

FeatureDocker on AlmaLinux 9
Cgroups v2Fine-grained resource control (CPU, memory, blkio)
NamespacesIsolates processes, UIDs, and mounts per container
SELinux EnforcingLimits container access to system resources
Seccomp ProfilesRestricts syscall access in containers
Systemd IntegrationReliable 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

FeatureDocker EnginePodman
Daemon modelUses dockerd daemonDaemonless (per-invocation)
CLIMature, widely supportedMostly Docker-compatible
Rootless supportOptional (requires setup)Native
Compose supportNative (docker compose)Available via separate package
Kubernetes usageIndirect (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.

Shape.host Resources dashboard with Create > Instance highlighted.

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

Shape.host instance form with the data center location selector highlighted.

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.

Shape.host instance form with the operating system image selector highlighted.

Finalize the setup by clicking “Create Instance”.

Shape.host instance form with the Create Instance button highlighted.

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

Shape.host Resources dashboard with the server IP address highlighted.

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):

  1. Download and install PuTTY.
  2. Open PuTTY and paste your instance’s IP into the Host Name field.
  3. Set Port to 22 and ensure Connection Type is SSH.
  4. 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
Terminal showing DNF/YUM package management commands and output.

2. Install dependencies:

dnf install yum-utils curl ca-certificates gnupg lsb-release
Terminal showing DNF/YUM package management commands and output.

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
Terminal showing file and directory setup commands.

5. Install Docker Engine and related components:

dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Terminal showing DNF/YUM package management commands and output.

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
Terminal showing systemd service management commands or output.

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.

Terminal showing container image download progress.

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
Terminal showing DNF/YUM package management commands and output.

2. Delete residual Docker data:

rm -rf /var/lib/docker
rm -rf /var/lib/containerd
Terminal showing docker commands or output during Delete residual Docker data:.

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.