Skills

Podman

Manage containers using Podman, the daemonless container engine.

Install

npx skills add BagelHole/DevOps-Security-Agent-Skills --skill podman -g -a claude-code -y
Category
DevOps
Updated
6mo ago
License
MIT
Context cost
Mediumabout 1,866 tokens
Runs scripts
No, instructions only

What it does

Manage containers using Podman, the daemonless container engine. Run rootless containers, create pods, manage images, and use Docker-compatible commands. Use when working with Podman or requiring rootless container operations.

Podman

Run and manage containers without a daemon using Podman's rootless container engine.

When to Use This Skill

Use this skill when:

  • Running containers without root privileges
  • Managing containers on systems without Docker
  • Creating pod-based container groups
  • Using systemd for container management
  • Working in security-conscious environments

Prerequisites

  • Podman installed (4.x+)
  • For rootless: user namespaces enabled
  • Basic container concepts understanding

Key Differences from Docker

FeatureDockerPodman
ArchitectureClient-daemonDaemonless
Root requiredDefaultOptional (rootless)
Pod supportNoYes (Kubernetes-style)
Systemd integrationLimitedNative
Socketdocker.sockpodman.sock (optional)

Basic Commands

Container Operations

# Run container (identical to Docker)
podman run -d --name webserver -p 8080:80 nginx

# List containers
podman ps -a

# Stop and remove
podman stop webserver
podman rm webserver

# Execute command
podman exec -it webserver /bin/sh

# View logs
podman logs -f webserver

Image Management

# Pull image
podman pull docker.io/library/nginx:latest

# List images
podman images

# Build image
podman build -t myapp:latest .

# Push to registry
podman push myapp:latest registry.example.com/myapp:latest

# Remove image
podman rmi nginx:latest

Rootless Containers

Setup

# Check user namespace support
cat /proc/sys/user/max_user_namespaces

# Enable if needed (as root)
echo "user.max_user_namespaces=28633" | sudo tee /etc/sysctl.d/userns.conf
sudo sysctl -p /etc/sysctl.d/userns.conf

# Configure subuid/subgid for user
sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER

# Verify
podman unshare cat /proc/self/uid_map

Running Rootless

# Run as regular user (no sudo)
podman run -d --name myapp -p 8080:80 nginx
Read the whole SKILL.md on GitHub

More in DevOps