Junior — Middle
În ce cazuri se recomandă utilizarea unei construcții Docker multi-etape și cum ajută acest lucru la optimizarea procesului?
sobes.tech AI
Răspuns de la AI
Se recomandă construirea multi-etapă a Docker atunci când trebuie să creați o imagine compactă și optimizată, separând etapele de construire și de execuție ale aplicației. De exemplu, în prima etapă, aplicația este construită cu toate instrumentele și dependențele necesare, iar în a doua se creează o imagine minimă, în care sunt copiate doar artefactele compilate.
Acest lucru ajută la:
- reducerea dimensiunii imaginii finale, excluzând fișierele și instrumentele de construire inutile;
- creșterea securității, deoarece în imaginea finală nu există instrumente de dezvoltare;
- accelerarea implementării și pornirii containerelor.
Exemplu de Dockerfile cu construcție multi-etapă:
# Etapa de construire
FROM maven:3.8-jdk-11 AS builder
WORKDIR /app
COPY . .
RUN mvn clean package
# Etapa de execuție
FROM openjdk:11-jre-slim
WORKDIR /app
COPY --from=builder /app/target/myapp.jar ./
CMD ["java", "-jar", "myapp.jar"]