Sobes.tech
Senior

Кадом амалҳо барои кам кардани андозаи тасвири Docker вуҷуд доранд?

sobes.tech AI

Ҷавоб аз AI

Барои кам кардани андозаи тасвири Docker, чанд амалия татбиқ мешаванд:

  • Истифодаи тасвирҳои асосии минималистӣ, масалан, alpine дар ҷойи ubuntu.
  • Сохтани бисёрмарҳилавӣ (multi-stage builds), ки дар марҳилаҳои аввал барнома сохта мешавад ва дар тасвири ниҳоӣ танҳо муҳити минималӣ бо бинарии сохташуда боқӣ мемонад.
  • Тоза кардани кешҳо ва файлҳои муваққатӣ пас аз насб кардани вобастагиҳо дар Dockerfile.
  • Ҳамҷоя кардани фармонҳои RUN барои кам кардани шумораи қабатҳои.
  • Истифодаи .dockerignore барои истисно кардани файлҳои нолозим аз контексти сохт.

Маслиҳат барои Dockerfile бисёрмарҳилавӣ барои Go:

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

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

Ин усул имкон медиҳад, ки тасвире кӯтоҳ ва бо камтарин файлҳо ба даст орад.