Skip to content
Latchkey

O Que É uma Imagem Distroless? Containers Sem um SO

Uma imagem distroless entrega apenas sua aplicação e suas dependências de runtime - sem shell, sem gerenciador de pacotes, sem userland de SO de propósito geral.

A maioria das base images inclui um userland Linux completo: um shell, um gerenciador de pacotes, coreutils. Uma imagem distroless joga tudo isso fora e mantém apenas o que sua aplicação precisa para rodar. O retorno é uma imagem menor e mais segura; o custo é que você perde as ferramentas de debugging familiares dentro do container.

O que é removido

  • Sem shell (/bin/sh, bash).
  • Sem gerenciador de pacotes (apt, apk).
  • Sem coreutils ou binários de propósito geral.
  • Apenas sua aplicação, seu runtime e bibliotecas de suporte mínimas.

Por que é mais segura

Uma imagem menor tem menos pacotes e, portanto, menos CVEs. E sem shell, um passo comum de pós-exploração - abrir um shell dentro do container - simplesmente não tem com o que trabalhar.

O trade-off do debugging

Você não pode fazer docker exec em um container distroless e vasculhar por aí, porque não há shell. Em vez disso, você debuga com logs, um container de debug efêmero, ou variantes distroless :debug que re-adicionam um shell apenas quando necessário.

Combina naturalmente com multi-stage builds

Distroless brilha como o stage final de um multi-stage build: compile em um stage de toolchain completo, depois faça COPY --from do binário para um stage final distroless.

Distroless em CI/CD

Pipelines de CI constroem imagens distroless para entregar artifacts enxutos e limpos em scan para produção. Como a imagem final é minúscula, ela faz push e pull rápido - e em runners gerenciados o pesado stage builder permanece cacheado entre builds.

Principais conclusões

  • Imagens distroless contêm apenas sua aplicação e runtime - sem shell ou gerenciador de pacotes.
  • Menos pacotes significam menos vulnerabilidades e uma superfície de ataque menor.
  • Você troca o debugging dentro do container por segurança; combine com multi-stage builds.

Guias relacionados