Sobes.tech
Junior — Middle

V jakých případech se doporučuje použít vícestupňovou sestavu Docker a jak to pomáhá optimalizovat proces?

sobes.tech AI

Odpověď od AI

Doporučuje se vícestupňová sestava Docker, když je třeba vytvořit kompaktní a optimalizovaný obraz, oddělením fází sestavení a spuštění aplikace. Například v první fázi je aplikace sestavena se všemi potřebnými nástroji a závislostmi, a ve druhé je vytvořen minimální obraz, do kterého jsou zkopírovány pouze zkompilované artefakty.

To pomáhá:

  • zmenšit velikost finálního obrazu tím, že se vyloučí zbytečné soubory a nástroje pro sestavení;
  • zvýšit bezpečnost, protože ve finálním obraze nejsou nástroje pro vývoj;
  • urychlit nasazení a spuštění kontejnerů.

Příklad Dockerfile s vícestupňovou sestavou:

# Fáze sestavení
FROM maven:3.8-jdk-11 AS builder
WORKDIR /app
COPY . .
RUN mvn clean package

# Fáze spuštění
FROM openjdk:11-jre-slim
WORKDIR /app
COPY --from=builder /app/target/myapp.jar ./
CMD ["java", "-jar", "myapp.jar"]