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,
alpineo'rnigaubuntu. - 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
.dockerignoredan 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.