Multi-stage Builds
Algumas linguagens de programação (como Go, Rust ou C++) precisam ser compiladas antes de rodar — um compilador é uma ferramenta que traduz o código-fonte escrito por um programador em um único programa que a máquina pode executar diretamente (um arquivo binário). Em um multi-stage build, você usa u
Você cozinha em uma cozinha grande e bagunçada, cheia de panelas e ingredientes crus — e depois manda para o cliente só o prato pronto, sem as panelas e sem as sobras.
- compilador
- Uma ferramenta que traduz o código-fonte escrito por um programador em um programa que a máquina pode executar diretamente (um arquivo binário). Linguagens compiladas como Go, Rust e C++ precisam dele para construir o programa — mas não para executá-lo.
- estágio de build
- O primeiro estágio em um multi-stage build, baseado em uma imagem com um toolchain completo (compilador, bibliotecas), no qual a aplicação é compilada em um artefato final.
- estágio de runtime
- O estágio final, baseado em uma imagem pequena (por exemplo, alpine), que contém só o artefato pronto e o que é necessário para executá-lo — sem as ferramentas de build.
- COPY --from
- Uma instrução que copia arquivos de um estágio anterior (por nome ou índice) para o estágio atual, permitindo escolher só o artefato final e deixar o resto do build para trás.