Junior — Middle
Magyarázza el a Docker-kép több szakaszos építésének koncepcióját és hogy miért használják.
sobes.tech MI
Válasz az MI-től
Többlépcsős Docker-képépítés (multi-stage build) lehetővé teszi több építési szakasz használatát egy Dockerfile-ban. Ez segít kompakt és optimalizált képek létrehozásában, elválasztva az építési és futási szakaszokat.
Az első szakaszban egy olyan képet lehet használni, amely eszközöket tartalmaz az alkalmazás fordításához és építéséhez, a következő szakaszokban pedig csak egy minimális képet, amely a futtatáshoz szükséges fájlokat tartalmazza.
Előnyök:
- Jelentősen csökkenti a végső kép méretét.
- Elimálja a felesleges függőségeket és eszközöket a végső képből.
- Egyszerűsíti a Dockerfile karbantartását és frissítését.
Példa:
# Építési szakasz
FROM openjdk:11-jdk AS build
WORKDIR /app
COPY . .
RUN ./gradlew build
# Futtatási szakasz
FROM openjdk:11-jre
WORKDIR /app
COPY --from=build /app/build/libs/myapp.jar ./
CMD ["java", "-jar", "myapp.jar"]