O Que É um Multi-Stage Build?
Um multi-stage build é uma técnica de Dockerfile que define múltiplos estágios de build, onde estágios posteriores copiam apenas os artefatos necessários dos anteriores. Você pode compilar em um estágio builder gordo com toolchains completos e, então, copiar apenas o binário resultante para uma imagem final mínima. O resultado é uma imagem de runtime pequena e limpa, sem o inchaço de tempo de build.
Por que importa
Enviar o compilador, ferramentas de build e arquivos intermediários na sua imagem final a incha e amplia a superfície de ataque. Multi-stage builds mantêm as dependências de build fora da imagem de runtime, produzindo imagens menores, mais rápidas de baixar e mais seguras, frequentemente combinadas com uma base final distroless.
Conceitos relacionados
- O estágio final copia apenas os artefatos necessários
- Combina com base images distroless
- Reduz o tamanho da imagem e a superfície de ataque
Guias relacionados
What Is a Distroless Image?A distroless image contains only your application and its runtime dependencies, with no shell, package manage…
What Is Docker Layer Caching?Layer caching reuses unchanged container image layers across builds, so only the layers affected by a change…
What Is a Base Image?A base image is the starting container image a build extends with FROM, providing the OS and runtime foundati…