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