Sobes.tech
Middle+

Docker'da ko'p bosqichli qurilish nima? Nima uchun kerak?

sobes.tech AI

AIdan javob

Docker'da ko'p bosqichli qurilish, bitta Dockerfile ichida bir nechta qurilish bosqichlaridan foydalanishga imkon beradi. Bu, ilovaning qurilish va yakuniy ishga tushirish bosqichlarini ajratib, ixcham va optimallashtirilgan tasvirlar yaratishga yordam beradi.

Masalan, birinchi bosqichda ilovani kerakli vositalar va bog'liqliklar bilan yig'ish mumkin, ikkinchi bosqichda esa faqat kompilyatsiya qilingan artefaktlarni minimal tasvirga ko'chirish mumkin, keraksiz fayllar va qurilish vositalarisiz.

Afzalliklar:

  • Yakuniy tasvirning hajmini kamaytirish
  • Xavfsizlikni oshirish (yakuniy konteynerda kamroq komponentlar)
  • Dockerfile'ni toza va boshqarishni oson qilish

Misol:

# Qurilish bosqichi
FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Yakuniy tasvir
FROM alpine:latest
COPY --from=builder /app/myapp /usr/local/bin/myapp
CMD ["myapp"]