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
Mensagem pronta para colar
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 podmanOu 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.mdConteú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.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3846
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC