Sobes.tech
Junior — Middle

Docker-şəkil yaradarkən bir neçə FROM təlimatından istifadə etməyin məqsədi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Dockerfile-да бир нечта FROM кўрсатмалари ишлатилиши, кўп босқичли тўплам (multi-stage build) яратишга imkon беради. Бу охирги тасвирнинг ҳажмини камайтиришга ва тўплам жараёнини мантиқий босқичларга бўлишга ёрдам беради.

Асосий афзалликлар:

  • Бир 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"]