Sobes.tech
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"]