Sobes.tech
Senior

Docker tasvirining hajmini kamaytirish uchun qanday amaliyotlar mavjud?

sobes.tech AI

AIdan javob

Docker tasvirining hajmini kamaytirish uchun bir nechta amaliyotlar qo'llaniladi:

  • Minimalist asosiy tasvirlardan foydalanish, masalan, alpine o'rniga ubuntu.
  • Ko'p bosqichli qurilish (multi-stage builds), birinchi bosqichlarda ilova quriladi va yakuniy tasvirdagi faqat minimal ishga tushirish muhit va yig'ilgan binar mavjud bo'ladi.
  • Dockerfile ichida bog'liqliklarni o'rnatgandan so'ng kechlarni va vaqtinchalik fayllarni tozalash.
  • Katlamalar sonini kamaytirish uchun RUN buyruqlarini birlashtirish.
  • Keraksiz fayllarni qurilish kontekstidan chiqarish uchun .dockerignore dan foydalanish.

Go uchun ko'p bosqichli Dockerfile misoli:

# 1-bosqich: Qurilish
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# 2-bosqich: Minimal ishga tushirish muhit
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

Bu yondashuv minimal fayl to'plami bilan kompakt tasvir olish imkonini beradi.