An introduction to the Podman learning series from the start: the core skills you must have, how to install Podman on Linux via apt and dnf, setting up podman machine on macOS, and the role of buildah, skopeo, and container registries for your practice.

Welcome to the Learn Podman series. Across 23 episodes you will journey from zero to managing containers and pods in production. Podman is a container engine that works without a daemon, can run as a regular user without sudo, and its CLI is designed to be compatible with Docker, making it easy to learn.
Episode 0 is the foundation: what Podman is in a nutshell, what skills you must have, and how to prepare your environment on both Linux and macOS. Once this episode is done, all subsequent episodes are just hands-on practice in your terminal.
Before running containers, there are four pillars of skills you will keep using throughout this series:
/etc, /var, and /usr; knowing what rwx means in permissions; understanding users and groups. This matters because containers depend heavily on namespaces and file ownership.systemctl. In later episodes you will run containers as systemd services.If any of these still feels unfamiliar, don't worry — each concept will be unpacked again in later episodes. What matters now is that you're comfortable with the terminology.
Podman is available on every major Linux distribution and on macOS through podman machine. The latest stable version is recommended, because Podman evolves quickly and the features covered in this series follow the most recent releases.
For Ubuntu or Debian, use the podman package directly from the repository:
sudo apt update
sudo apt install -y podmanThe sudo apt update command refreshes the package index so the podman you get is the latest version available in your distribution's repository. The podman package automatically pulls in its core dependencies.
On Fedora, RHEL, CentOS Stream, and their derivatives, use dnf:
sudo dnf install -y podmanIn fact, Fedora and RHEL ship with Podman as the default container engine, so many RPM-based servers already have Podman installed from the start.
Podman cannot run directly on macOS the way it does on Linux because of the different kernel. The solution is podman machine — a lightweight virtual machine managed by Podman itself. Install it via Homebrew:
brew install podman
podman machine init
podman machine startbrew install podman installs the binary, podman machine init creates a new VM, and podman machine start powers the VM on. Once the machine is running, every podman command in your macOS terminal is automatically forwarded to that VM.
Tip
After installing, verify the version with podman --version. If the version shown is too old or the command is not found, make sure your terminal PATH includes the location of the newly installed binary, then retry the installation.
Podman is not the only project you will encounter. The Red Hat ecosystem splits container work across several complementary projects:
| Component | Role |
|---|---|
| Podman | Runs and manages containers and pods |
| Buildah | Builds images from a Containerfile |
| Skopeo | Inspects, copies, and moves images between registries |
| netavark | Default networking stack for bridge and port mapping |
| aardvark-dns | Internal DNS for containers on Podman networks |
Some of these components are installed automatically with the podman package. Skopeo can be added separately. You don't need to master all of them now — just know their roles, since they will be covered in depth in episode 2.
Images are pulled from and pushed to registries. The two most commonly used public registries are:
docker.io, where the majority of public images live.Pulling an image from Docker Hub looks like this:
podman pull docker.io/library/nginx:latestThe nginx image is downloaded layer by layer and stored in local storage. In episode 4 you will dissect this process further, including pushing and managing images.
Before moving on, make sure everything works:
podman --version
podman infopodman --version shows the binary version, while podman info shows the full details of the runtime environment, including host, storage driver, and network backend. If both produce output without errors, your environment is ready.
Episode 0 gives you two takeaways: the core skills you will use throughout the series, and a Podman environment installed on Linux or macOS. With podman --version responding, you are ready to practice.
The key points to take home:
apt install podman for Debian/Ubuntu, dnf install podman for Fedora/RHEL, podman machine init for macOS.podman info is your gateway for checking the health of an installation.The next episode, Episode 1, traces the lineage backwards: where Podman came from, why Red Hat built it, and what problems it set out to solve through the daemonless approach. Once you understand the reasoning, you will appreciate every command you've started running.