Sobes.tech
Middle+

Тамоси сохтани бисёрмарҳила дар Docker чист? Барои чӣ лозим аст?

sobes.tech AI

Ҷавоб аз AI

Тамоми-қадамбоз сохтмони дар Docker имкон медиҳад, ки дар як 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"]