Skip to content
Search RunEntLinux

Searches general documentation on RunEntLinux. Each distribution has its own documentation search.

    Browse this documentation

    EL 8: Podman replaces Docker

    EL 8 made a decision with long reach: the official repositories stopped shipping Docker, and the container toolchain became the Podman / Buildah / Skopeo trio. The “daemonless, rootless-first” container style of today’s EL ecosystem was set in this release.

    Docker’s architecture is a long-running root daemon (dockerd) plus a CLI client; every container is a child of dockerd, so a daemon failure drags all containers with it, and the daemon’s root privileges make a large attack surface.

    Red Hat’s answer was to rewrite the toolchain:

    • Podman: no daemon — the CLI launches containers directly through an OCI runtime (runc/crun), and containers can be children of the calling user;
    • Buildah: focused on image builds (with or without a Dockerfile, command by command);
    • Skopeo: focused on inspecting, copying, and signing images across registries.

    The three share one image store and the OCI standards, staying compatible with the Docker ecosystem (image format, Docker Hub, Compose files).

    ItemEL 7EL 8
    Official container engineDocker (rhel channel)Podman
    Daemondockerd (root, resident)none
    Rootless containersunsupported / experimentalfirst-class
    Image buildsdocker buildpodman build / buildah
    systemd integrationvia docker.servicecontainers as plain units (Quadlet)
    • Command habits: the Podman CLI is highly compatible with Docker; alias docker=podman covers most daily operations. Differences concentrate in daemon-semantics commands (such as docker events or the remote API).
    • Rootless: ordinary users can run containers without joining the docker group (whose membership is roughly equivalent to root); CI and multi-tenant setups get meaningfully safer.
    • systemd integration: the EL 8 era used podman generate systemd; from EL 10 on, declarative Quadlet units are recommended.
    • Compose: podman-compose and Podman’s native compose support work, but behavioral details differ from docker compose; for production orchestration prefer systemd/Quadlet or a Kubernetes-side solution.
    Install and confirm Podman
    sudo dnf install podman buildah skopeo
    podman --version
    podman info --format '{{.Host.Security.Rootless}}'
    1. Inventory existing docker commands and scripts, replacing them according to CLI compatibility;
    2. Images and data: podman and docker share the OCI image format but not the local store — re-pull or use skopeo copy;
    3. Move orchestration to systemd units / Quadlet.