Sobes.tech
Junior — Middle

Чӣ гуна иҷрои сохтмони бисёрмарҳилааи тасвири контейнер?

sobes.tech AI

Ҷавоб аз AI

Бозгаштҳои бисёрқадам (multi-stage build) дар Docker имкон медиҳад, ки чанд марҳилаи сохтмон дар як Dockerfile эҷод карда шаванд, ки кӯмак мекунад андозаи тасвири ниҳоиро кам кунад ва марҳилаҳои тартибро аз марҳилаи иҷро ҷудо кунад.

Оидаи асосӣ истифодаи чандин дастурҳои FROM дар як Dockerfile аст, ки ҳар як марҳила метавонад аз асбобҳои марҳилаҳои қаблӣ истифода барад.

Масалан:

# Марҳилаи сохтмон
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Марҳилаи тасвири ниҳоӣ
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

Ин ҷо аввал барнома дар Go сохта мешавад, пас дар тасвири ниҳоӣ танҳо бинарии компилишуда нусхабардорӣ мешавад, бе файлҳои манбаъ ва асбобҳои сохтмон.