Junior — Middle
Docker-də çox mərhələli yığma anlayışını və onun üstünlüklərini izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Docker'da çox mərhələli yığma, bir Dockerfile-də bir neçə yığma mərhələsindən istifadə etməyə imkan verir. Bu, əvvəlcə tətbiqi lazım olan alətlər və asılılıqlarla bir konteynerdə yığmağa və sonra yalnız lazım olan artefaktları son imicə kopyirməyə imkan verir ki, bu da minimal və yüngül olacaq.
Üstünlüklər:
- Yekun imicin ölçüsünün azaldılması, çünki yığma alətləri və müvəqqəti fayllar daxil edilmir.
- Təhlükəsizliyin artırılması, çünki yekun imicdə artıq komponentlər yoxdur.
- Dockerfile-in saxlanması və oxunması asanlığı, çünki bütün mərhələlər bir yerdə təsvir olunub.
Go üçün nümunə:
# Yığma mərhələsi
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Yekun imic
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]