Podman Cheat Sheet

Start and Stop Containers
Start a container:
podman start <container_name_or_id>Stop a container:
podman stop <container_name_or_id>
Build an Image
Build an image from a Dockerfile:
podman build -t <image_name:tag> .
Run a Container
Run a container:
podman run --name <container_name> <image_name:tag>Run a container and remove it after it exits:
podman run --rm <image_name:tag>
Remove Containers and Images
Remove a container:
podman rm <container_name_or_id>Remove all stopped containers:
podman container pruneRemove an image:
podman rmi <image_name_or_id>
Podman Compose (if using podman-compose)
Start containers with Podman Compose:
podman-compose upStop containers with Podman Compose:
podman-compose downBuild images with Podman Compose:
podman-compose build
Additional Useful Commands
Inspect
Inspect a container (view details about a running or stopped container):
podman inspect <container_name_or_id>
Logs
View logs for a container:
podman logs <container_name_or_id>
List Containers and Images
List all containers:
podman ps -aList running containers:
podman psList all images:
podman images
Key Takeaways
- Podman is a drop-in replacement for Docker with a CLI that maps 1:1 for common container operations
- podman-compose handles multi-container setups, but requires the separate podman-compose package
- Rootless podman is the default and preferred mode — no daemon running as root is a security improvement over Docker
- Commands group by lifecycle: start/stop, build/run, remove, inspect/logs, and list
Most of my containers run rootless, and I can’t recall a single one I’ve managed where a running root daemon was actually justified. What’s your setup — pure rootless, or is something still talking to a daemon?
Want to keep the conversation going?
If you found this useful, let's connect — I'm always happy to swap notes with people building in the same space. Start a conversation on LinkedIn .