🦭 Cap 15: Podman e Runtimes Alternativos - Exemplos Práticos
Demonstrações práticas de Podman, Buildah, Skopeo e Colima.
🗺️ Tabela Comparativa de Ferramentas OCI
| Ferramenta | Mantenedor | Modelo de Execução | Principal Caso de Uso |
|---|---|---|---|
| Docker | Docker Inc. | Daemon Centralizado (dockerd) |
Padrão clássico de desenvolvimento |
| Podman | Red Hat / CNCF | Daemonless (Fork/Exec) & Rootless | Segurança estrita e pods locais estilo K8s |
| Buildah | Red Hat / OCI | Sem daemon / Scripts Bash | Construção enxuta de imagens em pipelines CI/CD |
| Skopeo | Red Hat / CNCF | CLI de inspeção remota | Cópia e validação de imagens entre registries |
| Colima | Open Source | VM Linux leve com QEMU/VZ | Alternativa livre ao Docker Desktop no macOS |
📄 Exemplo 1: Copiando Imagens entre Registros Remotos com Skopeo
# Copiar imagem do Docker Hub diretamente para o registro corporativo privado (sem pull local):
skopeo copy \
docker://docker.io/library/nginx:alpine \
docker://registry.empresa.com/infra/nginx:alpine \
--dest-creds usuario:tokenSeguro123
📄 Exemplo 2: Construindo Imagens com Scripts Shell via Buildah
# Cria um container temporário vazio para construção:
container=$(buildah from alpine:latest)
# Executa comandos diretamente no container em construção:
buildah run $container apk add --no-cache curl python3
buildah copy $container ./app /app
buildah config --entrypoint '["python3", "/app/main.py"]' $container
# Comita a imagem final no registro local:
buildah commit $container minha-imagem-buildah:v1