Senior
Docker сүрөтүнүн өлчөмүн кыскартуу үчүн кандай практикалар бар?
sobes.tech AI
AIден жооп
Docker сүрөтүнүн өлчөмүн кыскартуу үчүн бир нече практикалар колдонулат:
- Минималисттик негизги сүрөттөрдү колдонуу, мисалы,
alpineордунаubuntu. - Көп этаптуу куруу (multi-stage builds), биринчи этапта колдонмо курулуп, акыркы сүрөттө гана минималдуу ишке киргизүү чөйрөсү жана курулган бинардык файл калат.
- Dockerfile ичинде көз карандылыктарды орноткондон кийин кэштерди жана убактылуу файлдарды тазалоо.
- Катмардардын санын кыскартуу үчүн RUN буйруктарын бириктирүү.
- Курулуш контекстинен керексиз файлдарды чыгарып салуу үчүн
.dockerignoreколдонуу.
Go үчүн көп этаптуу Dockerfile мисалы:
# Биринчи этап: Куруу
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Экинчи этап: Минималдуу ишке киргизүү чөйрөсү
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]
Бул ыкма минималдуу файлдар менен компакттуу сүрөт алууга мүмкүндүк берет.