Sobes.tech
Senior

Docker-ში მრავალსაფეხურიანი მშენებლობა რა არის?

sobes.tech AI

პასუხი AI-სგან

მულტი-სტადია ბილდი Docker-ში — ეს არის ტექნიკა, რომელიც საშუალებას აძლევს შექმნას რამდენიმე მშენებლობის ეტაპი ერთ Dockerfile-ში, სადაც თითოეული ეტაპი შეიძლება გამოიყენოს თავისი საკუთარი საწყისი სურათი. მთავარი იდეა — მშენებლობის ეტაპების (მაგალითად, კოდების კომპილაცია, დამოკიდებულებების ინსტალაცია) გამიჯვნა საბოლოო სურათიდან, რათა საბოლოო კონტეინერში მოხვდნენ მხოლოდ საჭირო ფაილები, რომლებიც საჭიროა პროგრამის გაშვებისთვის, გარეშე ზედმეტი ინსტრუმენტებისა და არტეფაქტების.

ეს მნიშვნელოვნად ამცირებს საბოლოო სურათის ზომას და ზრდის უსაფრთხოებას, რადგან საბოლოო კონტეინერში არ არის მშენებლობის ინსტრუმენტები.

მულტი-სტადია ბილდის მაგალითი Dockerfile-ში:

# მშენებლობის ეტაპი
FROM node:18 AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build

# საბოლოო ეტაპი
FROM nginx:alpine
COPY --from=builder /app/build /usr/share/nginx/html

აქ პირველად აშენდება React აპლიკაცია, შემდეგ კი მხოლოდ მზად სტატიკური ფაილები იკოპირება მსუბუქ nginx სურათზე.