Sobes.tech
Junior — Middle

Тавзеҳ диҳед дар бораи консепсияи сохтани бисёрмарҳила дар Docker ва фоиданокии он.

sobes.tech AI

Ҷавоб аз AI

Тамоми сатҳӣ (мулти-стейдж) сохтмони дар Docker имкон медиҳад, ки чанд марҳилаи сохтмон дар як Dockerfile истифода шавад. Ин маъно дорад, ки аввал метавон барнома дар контейнери бо асбобҳо ва вобастагиҳои зарурӣ сохт, ва сипас танҳо артефактҳои заруриро ба тасвири ниҳоӣ нусхабардорӣ кард, ки он минималӣ ва сабук хоҳад буд.

Манфиатҳо:

  • Кам кардани андозаи тасвири ниҳоӣ, зеро асбобҳои сохтмон ва файлҳои муваққатӣ дохил намешаванд.
  • Беҳтар кардани бехатарӣ, зеро дар тасвири ниҳоӣ компонентҳои ғайри зарурӣ нест.
  • Осон кардани нигоҳдорӣ ва хонданпазирии Dockerfile, зеро ҳамаи марҳилаҳо дар як ҷо тавсиф шудаанд.

Масалан барои Go:

# Марҳилаи сохтмон
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"]