Junior — Middle
U kojim slučajevima se preporučuje korišćenje višestepene Docker izgradnje i kako to pomaže u optimizaciji procesa?
sobes.tech АИ
Одговор од АИ
Preporučuje se višestepna izgradnja Docker-a kada je potrebno kreirati kompaktan i optimizovan image, odvajajući faze izgradnje i izvršenja aplikacije. Na primer, u prvoj fazi se aplikacija gradi sa svim potrebnim alatima i zavisnostima, a u drugoj se kreira minimalni image u koji se kopiraju samo kompajlirani artefakti.
Ovo pomaže:
- smanjenju veličine konačnog image-a, isključivanjem nepotrebnih fajlova i alata za izgradnju;
- povećanju sigurnosti, jer u finalnom image-u nema razvojnih alata;
- ubrzavanju deploy-a i pokretanja kontejnera.
Primer Dockerfile-a sa višestepenom izgradnjom:
# Faza izgradnje
FROM maven:3.8-jdk-11 AS builder
WORKDIR /app
COPY . .
RUN mvn clean package
# Faza izvršenja
FROM openjdk:11-jre-slim
WORKDIR /app
COPY --from=builder /app/target/myapp.jar ./
CMD ["java", "-jar", "myapp.jar"]