Junior — Middle
Docker'da ko'p konturli yig'ish konseptini va uning afzalliklarini tushuntiring.
sobes.tech AI
AIdan javob
Docker'da ko'p bosqichli yig'ish, bitta Dockerfile ichida bir nechta qurilish bosqichlarini ishlatishga imkon beradi. Bu shuni anglatadiki, avvalo, kerakli asboblar va bog'liqliklar bilan ilovani bir konteynerda yig'ish mumkin, so'ngra faqat zarur artefaktlarni yakuniy tasvirga ko'chirish mumkin, bu esa minimal va yengil bo'ladi.
Afzalliklar:
- Yakuniy tasvirning hajmini kamaytirish, chunki qurilish asboblari va vaqtinchalik fayllar kiritilmaydi.
- Xavfsizlikni oshirish, chunki yakuniy tasvirda keraksiz komponentlar yo'q.
- Dockerfile'ni saqlash va o'qish osonligi, chunki barcha bosqichlar bitta joyda tavsiflangan.
Go uchun misol:
# Qurilish bosqichi
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp
# Yakuniy tasvir
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]