Michal's Podman Cheat Sheet: A Docker Alternative for My Homelab

Complete Podman cheat sheet and tutorial for 2026. Learn Podman commands, Docker alternatives, and container management for homelab and Linux servers. Includes rootless containers, pod management, and Docker Compose compatibility.

Hey everyone, Michal here! Today, I want to share my journey into the world of Podman—a powerful, daemonless container engine that’s quickly becoming a go-to for many, including myself. My personal dive into Podman came out of a very specific need: getting BmuS (Back-Me-Up Scotty) up and running on my various home devices. I wanted to manage a single container without the overhead of Docker Desktop on my trusty Mac mini, and Podman seemed like the perfect fit. So far, it’s been an excellent experience!

What is Podman?

At its core, Podman (POD MANager) is a Linux-native tool designed for managing containers and pods. It’s a daemonless engine, meaning it doesn’t require a constantly running background service (like Docker’s dockerd) to function. This makes it incredibly lightweight and often preferred in environments where security and resource efficiency are paramount.

How Podman Differs from Docker

While both are container engines, their architectural differences are significant:

How Podman is Similar to Docker

Despite the differences, Podman intentionally mirrors much of Docker’s user experience:

Why Choose Podman (or Vice Versa)?

Choose Podman if:

Choose Docker (especially Docker Desktop) if:

Why Podman Was the Right Choice for BmuS

For my specific setup with BmuS (Back-Me-Up Scotty), the decision ultimately came down to “right-sizing” the tool for the job.

My Mac mini serves as a host for various home services, and resources like RAM and CPU cycles are valuable currency. Docker Desktop for Mac is a fantastic, robust product, but it comes with a “batteries included” philosophy—a full GUI dashboard, Kubernetes clusters, extensions, and background processes that run even when you aren’t actively managing containers.

I simply needed to run one single container to handle my backups. Installing the full Docker Desktop suite felt like buying a semi-truck just to carry a single bag of groceries.

Podman offered the perfect middle ground:

  1. Zero “Dashboard” Bloat: I didn’t want another icon in my menu bar or a GUI application I’d never look at. Podman runs entirely in the terminal, which is where I prefer to be.
  2. Leaner Resource Usage: The podman machine spins up a minimal Fedora VM that is strictly there to run the containers and nothing else. It felt much lighter on my Mac mini’s system resources compared to the Docker VM.
  3. Set It and Forget It: Once I ran podman machine start and launched BmuS, it just worked. It sits quietly in the background, doing its job without demanding attention or updates for a UI I don’t use.

For a retired IT consultant who likes clean, efficient systems, Podman was the clear winner.

Platforms Supported by Podman

Podman is primarily a Linux tool, but it offers excellent support for other operating systems through virtual machines:


Michal’s Podman Cheat Sheet

Here are the essential Podman commands I use, which I’ve found incredibly useful for managing my containers, especially for my BmuS setup. Feel free to save this to your own wiki or notes!

🖥 Machine Management (macOS/Windows)

Commands for managing the underlying Virtual Machine on non-Linux systems.

CommandDescription
podman machine initInitialize a new VM with default settings.
podman machine init --cpus 4 --memory 4096Initialize VM with specific resources (4 CPUs, 4GB RAM).
podman machine set --cpus X --memory YModify resources of the existing VM.
podman machine startStart the Podman VM.
podman machine stopStop the Podman VM.
podman machine listList all initialized VMs and their status.
podman machine sshSSH into the Podman VM for low-level debugging.
podman machine rm <name>Remove the Podman VM and its data.

📦 Container Lifecycle

The core commands for running and managing containers.

🖼 Image Management

Working with container images from registries (like Quay.io or Docker Hub).

🌐 Networking & Volumes

Essential for persistent data and communication between containers.

🔍 Debugging & Maintenance

🚀 Advanced: Pods

Podman’s unique feature that allows grouping containers together (similar to Kubernetes pods).

🔄 Docker Compose Compatibility

Podman supports Docker Compose workflows! You can use either podman-compose (a separate tool) or the built-in podman compose command (available in Podman 4.1+).


Useful Tips & Tricks

1. Alias Podman as Docker: If you’re transitioning from Docker and want muscle memory to work, add this to your .bashrc or .zshrc:

alias docker=podman

2. Auto-start Containers on Boot (Linux): Podman integrates beautifully with systemd. Generate a service file for a container:

podman generate systemd --new --files --name my-container
sudo mv container-my-container.service /etc/systemd/system/
sudo systemctl enable container-my-container.service
sudo systemctl start container-my-container.service

3. Rootless Containers: On Linux, you can run containers without root privileges. Just use Podman as your regular user—no sudo required!

4. SELinux Context for Volumes (Linux): If you’re on a system with SELinux (like Fedora or RHEL), use the :Z flag when mounting volumes to automatically set the correct SELinux context:

podman run -v /host/path:/container/path:Z image-name

Conclusion

Podman has proven to be a fantastic tool for my homelab, offering a lean, secure, and performant way to manage containers without the full Docker Desktop footprint. Whether you’re running it natively on Linux or via the lightweight VM on macOS/Windows, it provides an excellent container experience with better security defaults and lower resource consumption.

If you’re looking for a powerful, daemonless alternative—especially on Linux or for specific use cases on macOS/Windows where you don’t need the full Docker ecosystem—I highly recommend giving Podman a try. The learning curve is minimal if you’re already familiar with Docker, and the benefits are substantial.

Let me know in the comments if you’re using Podman and what your favorite features are! I’d love to hear about your experiences and any tips you’ve discovered along the way.

Happy containerizing! 🐳➡️🦭