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,
alpineyerinə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
.dockerignoreistifadə 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.