# Podman
Podman is not a container runtime like Docker, but "only" an implementation of the OCI image specification.
- It can't launch containers on its own
- It requires a CRI container runtime
- It uses containerd which in turns uses runc (or similar) to start containers
## Benefits
- Proximity to Docker. Most of the commands can be used against both (login, build, pull, push, tag, etc). Dockerfiles can also be used to build container images
- Mostly ok to alias podman for docker
- Podman is lean and efficient. Uses less memory and is faster
- Podman is now a standard for Linux distributions like Fefora's CoreOS
- Podman is available in Ubuntu's default repositories
- Podman supports pods
- https://developers.redhat.com/blog/2019/01/15/podman-managing-containers-pods
- Makes it possible to test K8S deployments without a K8S cluster
- Rootless mode: podman does not require root permissions to execute its commands, unlicke Docker which depends on the daemon
- Podman follows the fork-exec model. Changes are recorded in the auditd system
## Limitations
- Linux based: only runs stably on Linux-based systems
- Works under WSL and can be installed on MacOS via homebrow, but not perfect
- Docker-compose is supported but Podman can't run multiple containers locally
- Alternatives: Podman-Compose, Minikube or k3d