Podman Commands for DevOps Engineers
📌 Introduction
Podman is a daemonless, open-source container management tool that serves as a drop-in replacement for Docker. It provides rootless execution, better security, and native support for Kubernetes.
🛠️ Installation
Ubuntu/Debian
sudo apt update && sudo apt install -y podman
CentOS/RHEL
sudo yum install -y podman
MacOS (Homebrew)
brew install podman
Check Installation
podman --version
🚀 Basic Podman Commands
1. Running Containers
podman run -d --name mynginx -p 8080:80 nginx
-d
→ Detached mode--name
→ Assigns a name to the container-p
→ Maps ports (Host:Container)
2. Listing Running Containers
podman ps
3. Listing All Containers (Including Stopped)
podman ps -a
4. Stopping & Removing Containers
podman stop mynginx
podman rm mynginx
5. Viewing Logs of a Container
podman logs mynginx
6. Executing Commands Inside a Running Container
podman exec -it mynginx bash
-i
→ Interactive mode-t
→ Allocates a TTY
7. Inspecting Container Details
podman inspect mynginx
📦 Image Management
1. Pulling Images
podman pull nginx
2. Listing Available Images
podman images
3. Removing Images
podman rmi nginx
4. Building Custom Images
podman build -t myapp .
5. Tagging Images
podman tag myapp docker.io/myrepo/myapp:v1
6. Pushing Images to a Registry
podman push docker.io/myrepo/myapp:v1
🔒 Rootless Podman
Enable Rootless Mode
podman system migrate
Run a Rootless Container
podman run --rm hello-world
⚡ Podman Pods (Multi-Container Management)
1. Creating a Pod
podman pod create --name mypod -p 8080:80
2. Running Containers Inside a Pod
podman run -d --pod mypod --name webserver nginx
3. Listing Pods
podman pod ps
4. Stopping & Removing Pods
podman pod stop mypod
podman pod rm mypod
🔁 Docker Compatibility
Podman supports Docker-compatible commands. To alias Podman as Docker:
alias docker=podman
📜 Generating Kubernetes YAML
Convert Podman Containers to Kubernetes YAML
podman generate kube mynginx > mynginx.yaml
Apply the YAML to Kubernetes
kubectl apply -f mynginx.yaml
🎯 Conclusion
Podman is a powerful, secure alternative to Docker, providing container management without a daemon. It integrates well with Kubernetes and is a great tool for DevOps engineers looking to optimize containerized workflows.
🚀 Happy Containerizing with Podman!