Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)48 mil · #3846

podman

Ajuda seu agente a gerenciar 'contêineres' de software sem um servidor central. É útil para rodar aplicações de forma isolada e eficiente.

O que ela faz

Podman é uma ferramenta para criar e gerenciar 'contêineres', que são como pacotes isolados de software. Ele permite executar aplicações em ambientes controlados sem precisar de um servidor central.

Quando usar

  • ✓Quando você quer rodar contêineres sem precisar de permissões de administrador.
  • ✓Se você precisa gerenciar contêineres em um sistema que não tem o Docker instalado.
  • ✓Para organizar múltiplos contêineres que trabalham juntos como um grupo.

Exemplo do que pedir para a IA

“Execute um servidor web Nginx em um contêiner chamado 'meu-servidor' e exponha a porta 8080.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/podman/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/podman/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Podman funciona diretamente com o sistema operacional, sem um programa 'servidor' rodando em segundo plano. Você dá comandos para ele, e ele cria e gerencia os contêineres para você.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill podman

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/podman/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Podman

Execute e gerencie contêineres sem um daemon usando o motor de contêineres sem root do Podman.

Quando Usar Esta Habilidade

Use esta habilidade quando:

  • Executar contêineres sem privilégios de root
  • Gerenciar contêineres em sistemas sem Docker
  • Criar grupos de contêineres baseados em pods
  • Usar systemd para gerenciamento de contêineres
  • Trabalhar em ambientes com foco em segurança

Pré-requisitos

  • Podman instalado (4.x+)
  • Para sem root: namespaces de usuário habilitados
  • Compreensão básica de conceitos de contêineres

Principais Diferenças do Docker

Recurso Docker Podman
Arquitetura Cliente-daemon Sem daemon
Root necessário Padrão Opcional (sem root)
Suporte a Pods Não Sim (estilo Kubernetes)
Integração com Systemd Limitada Nativa
Socket docker.sock podman.sock (opcional)

Comandos Básicos

Operações de Contêiner

# 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

Gerenciamento de Imagens

# 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

Contêineres Sem Root

Configuração

# 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

Executando Sem Root

# Run as regular user (no sudo)
podman run -d --name myapp -p 8080:80 nginx

# Check user namespace mapping
podman unshare id

# Verify non-root
podman top myapp user

Considerações de Porta

# Rootless cannot bind to ports < 1024 by default
# Use ports >= 1024
podman run -d -p 8080:80 nginx

# Or enable unprivileged ports (as root)
echo "net.ipv4.ip_unprivileged_port_start=80" | sudo tee /etc/sysctl.d/ports.conf
sudo sysctl -p /etc/sysctl.d/ports.conf

Pods

Criando Pods

# Create pod
podman pod create --name mypod -p 8080:80 -p 5432:5432

# Add containers to pod
podman run -d --pod mypod --name web nginx
podman run -d --pod mypod --name db postgres:15

# List pods
podman pod ps

# Containers share network namespace
podman exec web curl localhost:5432

Gerenciamento de Pods

# Start/stop pod (affects all containers)
podman pod start mypod
podman pod stop mypod

# Remove pod and containers
podman pod rm -f mypod

# View pod details
podman pod inspect mypod

# Generate Kubernetes YAML from pod
podman generate kube mypod > mypod.yaml

Integração com Systemd

Gerar Unidade Systemd

# Generate unit file for container
podman generate systemd --new --name myapp > ~/.config/systemd/user/container-myapp.service

# For pod
podman generate systemd --new --name mypod --files

# Reload systemd
systemctl --user daemon-reload

# Enable and start
systemctl --user enable --now container-myapp.service

Quadlet (Podman 4.4+)

# ~/.config/containers/systemd/webapp.container
[Container]
Image=docker.io/library/nginx:latest
PublishPort=8080:80
Volume=webapp-data:/usr/share/nginx/html

[Service]
Restart=always

[Install]
WantedBy=default.target
# Reload to generate service
systemctl --user daemon-reload

# Start the service
systemctl --user start webapp

Compatibilidade com Compose

Usando Podman Compose

# Install podman-compose
pip install podman-compose

# Run compose file
podman-compose up -d

# Or use Docker Compose with Podman socket
systemctl --user enable --now podman.socket
export DOCKER_HOST=unix:///run/user/$UID/podman/podman.sock
docker-compose up -d

Podman Kube Nativo

# Play Kubernetes YAML
podman kube play deployment.yaml

# Stop and remove
podman kube down deployment.yaml

Rede

Gerenciamento de Rede

# Criar rede
podman network create mynetwork

# Executar na rede
podman run -d --network mynetwork --name app myapp

# Conectar contêiner à rede
podman network connect mynetwork existing-container

# Listar redes
podman network ls


…
Perguntas frequentes

Qual a diferença principal entre Podman e Docker?

A maior diferença é que o Podman não precisa de um 'daemon' (um programa rodando em segundo plano) e pode rodar contêineres sem permissões de administrador (rootless).

O que são contêineres 'rootless'?

São contêineres que rodam sem precisar de privilégios de administrador no seu computador, tornando o uso mais seguro.

Posso usar os mesmos comandos do Docker com Podman?

Muitos comandos são idênticos ou muito parecidos, especialmente para operações básicas de contêineres e imagens.

Detalhes

Descrição original do autor

Manage containers using Podman, the daemonless container engine.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3846
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas