Junior — Middle
Кадом усулҳо имкон медиҳанд, ки ҳаҷми ниҳоии тасвири Docker кам карда шавад?
sobes.tech AI
Ҷавоб аз AI
Барои кам кардани ҳаҷми ниҳоии тасвири Docker, ба кор бурдани роҳҳои зерин истифода мешавад:
- Истифодаи тасвирҳои асосии минималистӣ: масалан,
alpineба ҷоиubuntuёdebian. - Тамоми сатҳҳои сохтмон (multi-stage builds): имкон медиҳад, ки барнома дар як тасвир сохта шавад ва танҳо артефактҳои зарурӣ ба тасвири ниҳоӣ кӯчонида шаванд.
- Тоза кардани файлҳои муваққатӣ ва кешҳо: тоза кардани бастаҳо, кешҳои идоракунандагони бастаҳо, файлҳои муваққатӣ пас аз насб.
- Ҳамҷоя кардани фармонҳои RUN: кам кардани шумораи қабатҳои тасвир.
- Истифодаи
.dockerignore: хориҷ кардани файлҳои нолозим аз контексти сохтмон.
Масалан, сохтмони бисёрсатҳ:
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
FROM alpine
COPY --from=builder /app/myapp /myapp
CMD ["/myapp"]
Ин усул имкон медиҳад, ки тасвири кӯтоҳ ва компакт ба даст оред, ки танҳо барои иҷрои барнома зарурӣ аст.