Pular para o conteúdo

Registries e distribuição

Intermediário14 min de leituracontainers

O registry distribui artefatos OCI. Uma tag é um apelido mutável; um digest identifica exatamente um manifesto. Produzir uma imagem por tag e executar outra é uma fonte comum de deploy não reproduzível.

Janela do terminal
docker build -t registry.exemplo.com/pagamentos:${GIT_SHA} .
docker push registry.exemplo.com/pagamentos:${GIT_SHA}
docker buildx imagetools inspect registry.exemplo.com/pagamentos:${GIT_SHA}
# use no manifesto o valor sha256 exibido pela inspeção

Use tags legíveis (2026.09.03, SHA curta) para navegação, mas registre o digest no artefato de release e no deployment: imagem@sha256:.... Nunca reutilize latest como identidade de release; dois nós podem baixar versões diferentes em momentos distintos. Promover significa copiar ou referenciar o mesmo digest entre ambientes, não reconstruir a partir da mesma branch.

O CI precisa de credencial curta, limitada ao repositório e à ação necessária. Prefira identidade federada/OIDC a token pessoal permanente; em runtime, use a identidade do workload ou pull secret de escopo mínimo. Não inclua credenciais em Dockerfile, camada ou log de build.

Uma política inicial de retenção preserva imagens em produção, releases assinadas e as últimas imagens de cada branch; expira tags temporárias após prazo definido. Teste a regra em modo de prévia e mantenha uma janela de rollback. Apagar tag não garante liberar todas as camadas compartilhadas, e uma limpeza agressiva pode tornar um rollback impossível.

Pull-through cache ou mirror local reduz latência, egress e dependência de registry externo, mas também introduz cache desatualizado. Defina quais imagens podem ser espelhadas, monitore falha de pull e tenha rota de contingência. Em incidente, compare o digest que está no Pod com o digest aprovado — não apenas o texto da tag.

Próximo passo: trate SBOM, vulnerabilidades e proveniência antes da promoção em Segurança de imagem. A etapa de CI deve publicar o digest como saída imutável para o deploy consumir.