Sobes.tech
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"]

Бул ыкма минималдуу файлдар менен компакттуу сүрөт алууга мүмкүндүк берет.