Sobes.tech
Senior

Docker'da ko'p bosqichli qurilish nima?

sobes.tech AI

AIdan javob

Docker'da ko'p bosqichli qurilish texnikasi bo'lib, bu birgina Dockerfile ichida bir nechta qurilish bosqichlarini yaratishga imkon beradi, har bir bosqich o'zining asosiy tasviridan foydalanishi mumkin. Asosiy g'oya — qurilish bosqichlarini (masalan, kompilyatsiya, bog'liqliklarni o'rnatish) yakuniy tasvirdan ajratish, shunda yakuniy konteynerga faqat ishga tushirish uchun zarur bo'lgan fayllar, keraksiz vositalar va artefaktlar kiritiladi.

Bu yakuniy tasvirning hajmini sezilarli darajada kamaytiradi va xavfsizlikni oshiradi, chunki yakuniy konteynerda qurilish vositalari bo'lmaydi.

Multi-stage build bilan Dockerfile misoli:

# Qurilish bosqichi
FROM node:18 AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build

# Yakuniy bosqich
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html

Bu yerda avvalo React ilovasi quriladi, so'ngra faqat tayyor statik fayllar yengil nginx tasviriga ko'chiriladi.