Middle+
Ի՞նչ է multi-stage build-ը Docker-ում: Ինչու է դա անհրաժեշտ?
sobes.tech AI
Պատասխան AI-ից
Դոկերի բազմաֆազային կառուցումը թույլ է տալիս օգտագործել մի քանի կառուցման փուլեր մեկ Dockerfile-ում: Սա օգնում է ստեղծել կոմպակտ և օպտիմալացված պատկերներ՝ բաժանելով կառուցման և վերջնական գործարկման փուլերը:
Օրինակ, առաջին փուլում կարող եք կառուցել հավելվածը անհրաժեշտ գործիքներով և կախվածություններով, իսկ երկրորդում՝ պատճենել միայն կոմպիլյացված արգումենտները նվազագույն պատկերում՝ առանց ավելորդ ֆայլերի և կառուցման գործիքների:
Առավելություններ՝
- Վերջնական պատկերների չափի կրճատում
- Անվտանգության բարձրացում (քիչ բաղադրիչներ վերջնական կոնտեյներում)
- Dockerfile-ի մաքուր և հեշտ կառավարում
Օրինակ՝
# Կառուցման փուլ
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Վերջնական պատկեր
FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]