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