Sobes.tech
Junior — Middle

Em que casos é recomendado usar uma construção Docker de múltiplas etapas e como isso ajuda a otimizar o processo?

sobes.tech IA

Resposta da IA

A construção multi-estágio do Docker é recomendada quando se deseja criar uma imagem compacta e otimizada, separando as fases de compilação e execução da aplicação. Por exemplo, na primeira fase, a aplicação é compilada com todas as ferramentas e dependências necessárias, e na segunda, uma imagem mínima é criada, na qual apenas os artefatos compilados são copiados.

Isso ajuda a:

  • reduzir o tamanho da imagem final, excluindo arquivos e ferramentas de compilação desnecessários;
  • aumentar a segurança, pois na imagem final não há ferramentas de desenvolvimento;
  • acelerar o deploy e a execução dos contêineres.

Exemplo de Dockerfile com compilação multi-estágio:

# Fase de compilação
FROM maven:3.8-jdk-11 AS builder
WORKDIR /app
COPY . .
RUN mvn clean package

# Fase de execução
FROM openjdk:11-jre-slim
WORKDIR /app
COPY --from=builder /app/target/myapp.jar ./
CMD ["java", "-jar", "myapp.jar"]