What Podman Does
- Docker-compatible CLI —
alias docker=podmanworks - Daemonless — no background service, each container is a fork/exec
- Rootless — run containers as non-root by default
- Pods — group containers that share network namespace (like K8s pods)
- Systemd integration — generate systemd units from containers
- K8s YAML — generate and play Kubernetes YAML
- Compose — podman-compose or docker-compose with podman socket
- Image building — via Buildah (integrated)
- Multi-arch — cross-platform image builds
- Podman Desktop — GUI for managing containers
Architecture
Forkexec model: podman run forks a conmon process that supervises the container runtime (crun or runc). No daemon = no single point of failure. Storage uses containers/storage (overlayfs). Networking uses CNI or netavark.
Self-Hosting
CLI tool.
Key Features
- Docker CLI compatibility
- Daemonless architecture
- Rootless containers
- Pod support (like K8s)
- Systemd unit generation
- K8s YAML import/export
- Buildah integration
- Podman Desktop GUI
- Remote API (REST)
- Multi-arch builds
Comparison
| Tool | Daemon | Rootless | Pods | CLI |
|---|---|---|---|---|
| Podman | No | Default | Yes | Docker-compatible |
| Docker | Yes (dockerd) | Optional | No | docker |
| nerdctl | No (containerd) | Yes | Yes | Docker-compatible |
| Lima | VM-based | Yes | No | Docker-compatible |
FAQ
Q: Can it fully replace Docker?
A: For daily use, yes. alias docker=podman covers most commands. Docker Compose works via podman-compose or the podman socket. A few edge features differ.
Q: How to use on macOS?
A: podman machine init && podman machine start launches a Fedora CoreOS VM. The experience is similar to Docker Desktop but without licensing fees.
Q: For production use? A: Red Hat OpenShift is built on CRI-O + Podman under the hood. RHEL and Fedora use Podman to replace Docker by default.
Sources
- Docs: https://docs.podman.io
- GitHub: https://github.com/containers/podman
- License: Apache 2.0