Guia: Instalar e usar Podman no Debian 11

Imagem: diagrama de containers e orquestração ilustrativa
Podman (POD MANager) é um motor de containers compatível com OCI, desenvolvido pela Red Hat como substituto do Docker. Ele gerencia imagens, containers e volumes via linha de comando. A diferença principal é que o Podman não requer um daemon em execução para rodar containers — ele opera em modelo rootful ou rootless usando a biblioteca libpod para gerenciar o ecossistema de containers.
Pré-requisitos
- Um servidor com Debian 11.
- Acesso root no servidor (senha ou sudo configurado).
Instalar Podman
O pacote Podman está disponível no repositório padrão do Debian 11. Para instalar, execute:
apt-get install podman -yApós a instalação, verifique a versão:
podman --versionA saída deve exibir a versão do Podman, por exemplo:
podman version 3.0.1Para obter informações detalhadas do ambiente Podman:
podman infoIsso retornará dados sobre o host, runtime OCI, cgroups, drivers e segurança do ambiente.
Importante: Podman suporta dois modos principais: root (com privilégios) e rootless (sem privilégios). Rootless melhora a segurança, mas pode ter limitações em recursos e mapeamento de portas.
Adicionar registro OCI
Podman usa /etc/containers/registries.conf para definir onde procurar imagens. Edite o arquivo:
nano /etc/containers/registries.confAdicione as linhas (ou ajuste conforme necessário):
[registries.insecure]
registries = [ ]
# If you need to block pull access from a registry, uncomment the section below
# and add the registries fully-qualified name.
# Docker only
[registries.block]
registries = [ ]Salve e feche o arquivo.
Nota: use entries em registries.insecure apenas para registries de teste em redes confiáveis. Para registries privados, prefira TLS e autenticação.
Como usar o Podman
Esta seção mostra os passos mais comuns: pull, listar imagens, executar, inspecionar, logs, entrar no container, parar e remover.
Baixar uma imagem
Para baixar a imagem oficial Debian:
podman pull debianExemplo de saída ao puxar:
Resolved "debian" as an alias (/etc/containers/registries.conf.d/shortnames.conf)
Trying to pull docker.io/library/debian:latest...
Getting image source signatures
Copying blob 647acf3d48c2 done
Copying config 827e561138 done
Writing manifest to image destination
Storing signatures
827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0ccListe imagens locais:
podman imagesSaída de exemplo:
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/debian latest 827e5611389a 11 days ago 129 MBExecutar um container
Execute um container Debian em modo interativo e em background:
podman run -dit debian:latestA saída será o ID do container:
f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103Liste containers em execução:
podman psExemplo de saída:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f85c4df5ab78 docker.io/library/debian:latest bash 13 seconds ago Up 13 seconds ago competent_coriInspecionar e logs
Inspecione detalhes do container (substitua o ID conforme o seu):
podman inspect f85c4df5ab78Ver logs do container:
podman logs f85c4df5ab78Entrar no shell do container
Para abrir um shell dentro do container em execução:
podman exec -it f85c4df5ab78 /bin/bashVocê verá o prompt do root dentro do container:
root@f85c4df5ab78:/#Para sair do shell, execute:
exitParar e remover containers e imagens
Parar um container:
podman stop f85c4df5ab78Ver containers (incluindo parados):
podman ps -aRemover um container parado:
podman rm f85c4df5ab78Comandos úteis para operações rápidas:
podman stop --latest # para o último container
podman start --latest # inicia o último container
podman rm --latest # remove o último container
podman rm -f `podman ps -aq` # força remoção de todos os containers
podman rmi 827e5611389a # remove uma imagem por IDExemplo de saída ao remover imagem:
Untagged: docker.io/library/debian:latest
Deleted: 827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0ccBoas práticas e segurança
- Prefira executar containers em modo rootless quando possível para reduzir o risco de elevação de privilégios.
- Use registries com TLS e autenticação. Evite registries “insecure” em produção.
- Aplique políticas de escopo mínimo para capacidades do kernel (capabilities) ao criar containers.
- Implemente scanning de imagens (assinaturas, análise de vulnerabilidades) antes de usar em produção.
Nota: alguns recursos, como a ligação de portas abaixo de 1024, podem exigir privilégios quando rodando rootless; ajuste conforme a necessidade.
Checklist por função
Administrador de sistema:
- Instalar podman via apt e verificar podman info.
- Configurar registries e TLS.
- Definir políticas de logs e backup de volumes.
Desenvolvedor:
- Testar imagens locais com podman run/exec.
- Validar que aplicações iniciam com variáveis de ambiente corretas.
Operações / DevOps:
- Automatizar builds e push para registry.
- Monitorar containers e integrar com sistemas de observabilidade.
Comparação rápida: Podman vs Docker
| Item | Podman | Docker |
|---|---|---|
| Daemon | Não precisa | Requer Docker Engine (daemon) |
| Compatibilidade OCI | Sim | Sim |
| Rootless | Suporta nativamente | Suporta com restrições mais recentes |
| Ferramentas CLI | Compatível com muitos comandos Docker | Padrão de mercado e ecossistema amplo |
| Uso em servidores | Fácil para ambientes sem daemon | Útil quando serviços dependem do daemon |
Quando escolher Podman: se você precisa de execução sem daemon, melhor isolamento rootless ou integração com systemd. Quando manter Docker: se a infraestrutura, ferramentas externas ou pipelines dependem do daemon Docker e seu ecossistema.
Guia de migração (dicas práticas)
- Teste scripts que usam docker CLI: muitos comandos são compatíveis, mas ajuste chamadas que façam referência direta ao daemon.
- Se você usa docker-compose, avalie alternativas (podman-compose ou converter para stacks systemd/Podman Compose).
- Valide imagens e volumes após migração antes de mover ambientes de produção.
Quadro de comandos (cheat sheet)
- Instalação: apt-get install podman -y
- Informações: podman info
- Pull: podman pull
- Listar imagens: podman images
- Rodar: podman run -dit
- Listar containers: podman ps
- Parar: podman stop
- Remover container: podman rm
- Remover imagem: podman rmi
- Entrar no container: podman exec -it
/bin/bash
Glossário rápido
- OCI: padrão Open Container Initiative para imagens e runtimes.
- Rootless: execução sem privilégios de superusuário.
- Registry: repositório onde imagens são armazenadas e recuperadas.
Quando o Podman pode falhar (limitações comuns)
- Ferramentas que dependem explicitamente do daemon Docker podem não funcionar sem adaptação.
- Recursos do kernel e binding de portas podem ficar limitados em rootless.
- Algumas integrações de orquestração legacy podem exigir ajustes.
Recursos adicionais
Guia detalhado oficial: Getting Started with Podman: Manage Images, Containers and Volumes
Resumo
Podman é uma alternativa sem daemon ao Docker, adequada para quem busca execução rootless e compatibilidade OCI. Este guia apresentou instalação no Debian 11, comandos principais, segurança, comparativo e dicas de migração.
Principais ações recomendadas:
- Instale e verifique com podman –version e podman info.
- Configure registries com cuidado e use TLS em produção.
- Teste migração de pipelines que usam docker daemon.
Materiais semelhantes
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android