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.
Instalación lista para agent
Este activo puede instalarse después de elegir el runtime, revisar el plan y ejecutar el comando correspondiente.
npx -y tokrepo@latest install c457ca38-3638-11f1-9bc6-00163e2b0d79 --target codexEjecutar después de confirmar el plan con dry-run.
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.
Preguntas frecuentes
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.
Referencias (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
Relacionados en TokRepo
Discusión
Activos relacionados
runc — Industry-Standard OCI Container Runtime
The reference implementation of the OCI runtime specification, runc spawns and manages containers at the lowest level for Docker, containerd, Podman, and CRI-O.
Podman Desktop — Local Container Development UI Without Docker
Podman Desktop is a graphical application for managing containers, images, pods, and Kubernetes clusters locally using Podman, without requiring the Docker daemon or a commercial license.
Buildah — Daemonless OCI Image Builder
Builds OCI-compliant container images without a daemon, without root, and without a Dockerfile when you want scripted builds.
Podman Compose — Run Docker Compose Files with Podman
Use existing docker-compose.yml files with Podman as the container engine, enabling rootless multi-container applications without the Docker daemon.