Sobes.tech
Senior

Docker görüntüsünün ölçüsünü azaltmaq üçün hansı praktikalar mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

Docker təsvirinin ölçüsünü kiçiltmək üçün bir neçə praktika tətbiq olunur:

  • Minimalist əsas təsvirlərdən istifadə, məsələn, alpine yerinə ubuntu.
  • Çox mərhələli quruluş (multi-stage builds), ilk mərhələlərdə tətbiq qurulur və son təsvirdə yalnız minimal işləmə mühiti və yığılmış ikili fayl qalır.
  • Dockerfile daxilində asılılıqları quraşdırdıqdan sonra keşikləri və müvəqqəti faylları təmizləmək.
  • Layihə qatlarını azaltmaq üçün RUN əmrlərini birləşdirmək.
  • Lazımsız faylları quruluş kontekstindən çıxarmaq üçün .dockerignore istifadə etmək.

Go üçün çox mərhələli Dockerfile nümunəsi:

# 1-ci mərhələ: Quruluş
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# 2-ci mərhələ: Minimal işləmə mühiti
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

Bu yanaşma, minimal fayl dəstinə malik kompakt təsvir əldə etməyə imkan verir.