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"]