Install Podman on Rocky Linux, AlmaLinux & CentOS Stream

Tested on Rocky Linux 9 container for fresh dnf install output
Package podman-5.8.2-5.el9_8.x86_64
Applies to Rocky Linux, AlmaLinux, CentOS Stream
Privilege sudo for package install; normal user for rootless verification
Scope Install Podman with DNF on community Enterprise Linux clones, check AppStream versions, verify CLI and runtime stack, smoke-test rootless mode, run a hello container, update and uninstall. Does not cover RHEL subscription paths, Ubuntu/Debian, source builds, Podman Desktop, or full rootless remediation.
Related guides Install Podman on RHEL
What is Podman?
Podman architecture

On Rocky Linux, AlmaLinux, and CentOS Stream, Podman installs with one DNF command from AppStream. Check the major version your release ships before copying flags from upstream docs — AppStream rebases Podman across the OS lifecycle.

RHEL uses the same Podman engine but has subscription and container-tools considerations; see Install Podman on RHEL.


Podman installation quick reference

Distribution Install command
Rocky Linux sudo dnf install podman
AlmaLinux sudo dnf install podman
CentOS Stream sudo dnf install podman

No Red Hat subscription is required. Enable BaseOS and AppStream, then install from the public repositories.


Install Podman on Rocky Linux and AlmaLinux

Podman is available from the standard Rocky Linux and AlmaLinux repositories:

bash
sudo dnf install podman

Sample output (trimmed) from a fresh install inside a Rocky Linux 9 container:

output
netavark-2:1.17.2-1.el9.x86_64
  passt-0^20251210.gd04c480-6.el9_8.x86_64
  podman-6:5.8.2-5.el9_8.x86_64
  shadow-utils-subid-2:4.9-16.el9.x86_64
  slirp4netns-1.3.3-1.el9.x86_64

Complete!

DNF resolves the full runtime stack in one transaction — you do not install conmon, crun, or netavark manually on a normal AppStream install.

If Podman was already installed, DNF prints Nothing to do. Complete! instead of a package list. That still means the engine is present — continue with verification below.


Install Podman on CentOS Stream

CentOS Stream follows the same AppStream layout as RHEL previews. When BaseOS and AppStream are enabled, install with:

bash
sudo dnf install podman

No separate subscription step applies. Verify the candidate version with dnf info podman on your Stream release — Stream moves faster than point-release RHEL, so the exact NEVRA can differ from Rocky or Alma even when the major.minor matches.


Verify the installation

Check the client version matches your expectations:

bash
podman --version

Sample output:

output
podman version 5.8.2

podman info prints the runtime stack — OCI runtime, cgroup mode, network backend, and storage driver:

bash
podman info

Read these fields from a Rocky Linux 9 install (trimmed):

output
cgroupManager: systemd
  cgroupVersion: v2
  networkBackend: netavark
  ociRuntime:
    name: crun
  graphDriverName: overlay
Field What it tells you
Version Installed Podman major.minor — compare to tutorials
ociRuntime.name Low-level runtime (crun on current AppStream builds)
networkBackend netavark on Rocky Linux 9+; older packages may differ
cgroupVersion / cgroupManager cgroup v2 with systemd on current EL kernels
graphDriverName Storage driver — overlay is expected

Run a test container

Pull and run the official hello image to exercise registry access, storage, the OCI runtime, and conmon:

bash
podman run --rm quay.io/podman/hello

Sample output (trimmed):

output
Trying to pull quay.io/podman/hello:latest...
...
!... Hello Podman World ...!
...

The greeting confirms image pull, overlay storage, crun, and cleanup with --rm. No registry login is required for this image.

For detach mode, published ports, and environment variables, continue with Run containers with podman run.


Verify rootless Podman

Rootless Podman lets a normal user run containers without sudo. Missing or unsuitable subordinate UID/GID mappings are a common cause of rootless container failures, especially when images require multiple mapped IDs.

Check mappings for your login user:

bash
grep "^$(id -un):" /etc/subuid /etc/subgid

Sample output for user podtest:

output
/etc/subuid:podtest:983040:65536
/etc/subgid:podtest:983040:65536

As that user (not root), confirm Podman reports rootless mode:

bash
podman info --format 'rootless={{.Host.Security.Rootless}}'

Sample output:

output
rootless=true

When ranges are missing or pulls fail with user-namespace errors, follow Rootless Podman — this install guide only confirms the smoke test.


Check the available Podman version

Enterprise Linux pins Podman in AppStream and rebases it during the supported lifecycle. Do not assume one fixed version per major release forever — run dnf info podman on the host you manage.

Repository versions verified in August 2026:

Enterprise Linux release Podman in AppStream How verified
Rocky Linux 9 5.8.2 (5.el9_8) dnf info podman in Rocky Linux 9
AlmaLinux 8/9/10 Varies by enabled repositories and update level Check with dnf info podman

For Quadlet feature gates by Podman version, see Install Podman on RHEL. For Ubuntu paths, see Install Podman on Ubuntu. For Debian paths, see Install Podman on Debian.

Ask DNF what your host would install:

bash
dnf info podman

Sample output from Rocky Linux 9:

output
Name         : podman
Version      : 5.8.2
Release      : 5.el9_8
From repo    : appstream
Summary      : Manage Pods, Containers and Container Images

The Version and Release lines are what you compare to tutorial requirements. Security errata can bump Release without changing the headline 5.8.2 client version.


Common installation errors

Symptom Likely cause Fix
No match for argument: podman AppStream disabled or metadata stale Enable BaseOS and AppStream; run sudo dnf makecache; retry install
Optional package not found (podman-compose, etc.) Package in EPEL or not built for your major Run dnf info <package>; enable the correct EPEL repo or choose an alternative workflow
Installed Podman lacks a newer flag or subcommand Tutorial targets a newer major than AppStream ships Run podman --version; compare with the feature matrix on Install Podman on RHEL
Rootless pull fails with subuid/subgid errors Missing /etc/subuid or /etc/subgid range Add mappings per the Rootless Podman guide

Update or uninstall Podman

Use the normal DNF upgrade path when AppStream publishes errata or rebases:

bash
sudo dnf update podman

Re-run podman --version after upgrades. AppStream can move Podman to a newer minor within the same major during the distribution lifecycle — plan application testing when the Release suffix jumps.

Major-version behavior changes (for example Podman 5 to 6 defaults) belong in a dedicated migration review — see Podman 5 to 6 migration when your AppStream stream crosses that boundary.

Remove the RPM when you no longer need the engine on the host:

bash
sudo dnf remove podman

Removing packages drops binaries but not local container data. Rootful storage often remains under /var/lib/containers; rootless users keep ~/.local/share/containers/. Delete those paths only when you intentionally want a full wipe.

Do not treat podman system reset --force as a routine uninstall step — it destroys all local Podman data in one command.


References


Summary

Installing Podman on Rocky Linux, AlmaLinux, and CentOS Stream is sudo dnf install podman from AppStream. No Red Hat subscription is required — enable BaseOS and AppStream on the public repositories and install in one transaction.

A Rocky Linux 9 container showed Podman 5.8.2 with crun, netavark, and related dependencies pulled automatically. Run dnf info podman on your own release because AppStream rebases packages across the OS lifecycle rather than freezing one build forever.

Rootless mode worked once subuid ranges were present (rootless=true). The hello image from quay.io proved registry and runtime integration without authentication. For RHEL subscription and container-tools paths, see Install Podman on RHEL; for Ubuntu, see Install Podman on Ubuntu; for Debian, see Install Podman on Debian. For day-to-day flags after install, open the podman run lesson next.


Frequently Asked Questions

1. How do I install Podman on Rocky Linux?

Run sudo dnf install podman from AppStream. DNF pulls conmon, crun, netavark, and related dependencies in one transaction. Verify with podman --version and podman info before following tutorials written for newer Podman majors.

2. Do Rocky Linux and AlmaLinux require a Red Hat subscription to install Podman?

No. Rocky Linux and AlmaLinux ship Podman in their public AppStream repositories. Enable BaseOS and AppStream, then run sudo dnf install podman.

3. Which Podman version ships on Rocky Linux 9?

AppStream rebases Podman during the distribution lifecycle. In August 2026 checks, Rocky Linux 9 offered 5.8.2. AlmaLinux versions vary by enabled repositories and update level — run dnf info podman on your host because security updates change the release suffix without changing the headline major.minor in every case.

4. How do I uninstall Podman on Rocky Linux?

Run sudo dnf remove podman to drop the RPM. That removes binaries but not images, containers, or volumes under graphRoot. Delete storage directories only when you intentionally want a full wipe. Do not treat podman system reset --force as a routine uninstall step.
Deepak Prasad

R&D Engineer

Founder of GoLinuxCloud with more than 15 years of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive experience, he excels across development, DevOps, networking, and security, delivering robust and efficient solutions for diverse projects.

  • Go (programming language)
  • Python (programming language)
  • DevOps
  • Computer Security
  • Cloud Computing
  • Kubernetes
  • Linux
  • Ansible (software)