Podman — Daemonless Container Engine for OCI Containers
Podman is a daemonless, open-source tool for developing, managing, and running OCI containers and pods. Drop-in replacement for Docker CLI without requiring a root daemon. Used by Red Hat, Fedora, and increasingly adopted in enterprise environments.
What it is
Podman is a daemonless container engine for developing, managing, and running OCI-compliant containers and pods. Unlike Docker, Podman does not require a background daemon process running as root. Each container runs as a child process of the Podman command, which improves security and simplifies process management.
Podman targets developers and sysadmins who want Docker-compatible container tooling with better security defaults. It is the default container tool on Red Hat Enterprise Linux, Fedora, and CentOS Stream.
How it saves time or tokens
Podman is a drop-in replacement for the Docker CLI. Most docker commands work by simply replacing docker with podman. Existing Dockerfiles, docker-compose files (via podman-compose), and CI scripts require minimal changes. You get rootless containers by default without modifying your workflow.
No daemon means no daemon crashes. If Docker's daemon dies, all running containers stop. With Podman, containers are independent processes that survive Podman restarts.
How to use
- Install Podman:
# macOS
brew install podman
podman machine init
podman machine start
# Fedora/RHEL
sudo dnf install podman
# Ubuntu/Debian
sudo apt install podman
- Run containers exactly like Docker:
podman run -d --name web -p 8080:80 nginx
podman ps
podman logs web
- Build images from Dockerfiles:
podman build -t myapp:latest .
podman push myapp:latest registry.example.com/myapp:latest
Example
Running a pod (group of containers sharing a network namespace):
# Create a pod
podman pod create --name my-stack -p 8080:80 -p 5432:5432
# Add containers to the pod
podman run -d --pod my-stack --name db postgres:16
podman run -d --pod my-stack --name app nginx
# Containers share localhost
podman exec app curl localhost:5432
Pods mirror Kubernetes pod semantics, making local development closer to production.
Related on TokRepo
- AI tools for DevOps -- Container and infrastructure tools
- Self-hosted tools -- Self-hosted development infrastructure
Common pitfalls
- Assuming
docker-composeworks natively. Usepodman-composeorpodman compose(with the compose plugin). Not all docker-compose features are supported identically. - Rootless networking limitations. Rootless containers cannot bind to ports below 1024 without extra configuration. Use
sysctl net.ipv4.ip_unprivileged_port_start=80or run with--network=slirp4netns. - Volume permission issues in rootless mode. UID mapping between host and container can cause permission denied errors. Use
podman unshare chownto fix ownership.
Frequently Asked Questions
Yes. Podman builds images from standard Dockerfiles and Containerfiles. The build command syntax is identical: 'podman build -t myimage .' works the same as 'docker build -t myimage .'
Podman supports compose files via podman-compose (a Python wrapper) or the built-in 'podman compose' subcommand (which uses docker-compose or compatible tools under the hood). Most compose files work without modification.
Podman runs rootless by default, meaning containers do not require root privileges on the host. Docker requires a root daemon. Rootless containers reduce the blast radius of container escapes. Podman also supports SELinux and seccomp profiles.
Yes. Podman supports the pod concept natively. You can create pods where multiple containers share a network namespace, similar to Kubernetes. Podman can also generate Kubernetes YAML from running pods with 'podman generate kube'.
Yes. On macOS and Windows, Podman uses a lightweight Linux VM (podman machine) to run containers. The CLI experience is the same as on Linux. 'podman machine init' and 'podman machine start' set up the VM automatically.
Citations (3)
- Podman GitHub— Podman is a daemonless tool for managing OCI containers
- Podman Documentation— Rootless container execution for improved security
- Open Container Initiative— OCI container image specification
Related on TokRepo
Discussion
Related Assets
NAPI-RS — Build Node.js Native Addons in Rust
Write high-performance Node.js native modules in Rust with automatic TypeScript type generation and cross-platform prebuilt binaries.
Mamba — Fast Cross-Platform Package Manager
A drop-in conda replacement written in C++ that resolves environments in seconds instead of minutes.
Plasmo — The Browser Extension Framework
Build, test, and publish browser extensions for Chrome, Firefox, and Edge using React or Vue with hot-reload and automatic manifest generation.