Junior — Middle
Ներկայացրեք Docker պատկերների բազմաբնակարան կառուցման կոնցեպցիան և ինչու է այն օգտագործվում։
sobes.tech AI
Պատասխան AI-ից
Բազմափուլային Docker պատկեր կառուցում (multi-stage build) թույլ է տալիս օգտագործել մի քանի կառուցման փուլեր մեկ Dockerfile-ում: Սա օգնում է ստեղծել կոմպակտ և օպտիմալացված պատկերներ՝ բաժանելով կառուցման և գործարկման փուլերը:
Առաջին փուլում կարելի է օգտագործել գործիքներով լի պատկեր՝ ծրագրի կոմպիլացիայի և կառուցման համար, իսկ հաջորդ փուլերում՝ միայն նվազագույն պատկեր՝ անհրաժեշտ ֆայլերով գործարկման համար:
Առավելություններ՝
- Վերջնական պատկերն զգալիորեն փոքրանում է:
- Հեռացվում են ավելորդ կախվածությունները և գործիքները:
- Պարզվում է Dockerfile-ի սպասարկումը և թարմացումը:
Օրինակ՝
# Կառուցման փուլ
FROM openjdk:11-jdk AS build
WORKDIR /app
COPY . .
RUN ./gradlew build
# Գործարկման փուլ
FROM openjdk:11-jre
WORKDIR /app
COPY --from=build /app/build/libs/myapp.jar ./
CMD ["java", "-jar", "myapp.jar"]