Sobes.tech
Junior — Middle

Qaysi yondashuvlar Docker-ning yakuniy tasvirining hajmini kamaytirishga imkon beradi?

sobes.tech AI

AIdan javob

Docker-ning yakuniy hajmini kamaytirish uchun quyidagi yondashuvlar qo'llaniladi:

  • Minimalist asosiy tasvirlardan foydalanish: masalan, alpine o'rniga ubuntu yoki debian.
  • Ko'p bosqichli qurilish (multi-stage builds): ilovani bir tasvirda qurish va faqat kerakli artefaktlarni yakuniy tasvirga ko'chirish imkonini beradi.
  • Vaqtinchalik fayllar va kechlarni o'chirish: paketlarni, paket menejerlarining kechlarini, o'rnatishdan keyingi vaqtinchalik fayllarni tozalash.
  • RUN buyruqlarini birlashtirish: tasvir qatlamlarining sonini kamaytiradi.
  • .dockerignore dan foydalanish: qurilish kontekstidan keraksiz fayllarni chiqarib tashlaydi.

Ko'p bosqichli qurilish misoli:

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"]

Ushbu yondashuv faqat ishga tushirish uchun zarur bo'lgan ilova bilan kichikroq tasvirni olish imkonini beradi.