Kubernetes
Setup Cluster
Podman
Readme

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!


🧙 AI Wizard - Instant Page Insights

Click the button below to analyze this page.
Get an AI-generated summary and key insights in seconds.
Powered by Perplexity AI!