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