Sobes.tech
Intern

Docker-ში მრავალსაფეხურიანი მშენებლობა რა არის და რა მიზნით გამოიყენება?

sobes.tech AI

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

Docker-ში მრავალსაფეხურიანი მშენებლობა არის მეთოდი, რომელიც იყენებს რამდენიმე მშენებლობის ეტაპს ერთ Dockerfile-ში. პირველ ეტაპებზე აპლიკაცია კომპილირდება და მზადდება, ხოლო ბოლო ეტაპებზე ფორმირდება მინიმალური საბოლოო სურათი, სადაც არ არის ზედმეტი ინსტრუმენტები და წყაროს კოდი.

რატომ არის ეს საჭირო:

  • საბოლოო სურათის ზომის შემცირება, რადგან მხოლოდ საჭირო ფაილები შედის.
  • უსაფრთხოების გაზრდა, რადგან მშენებლობის ინსტრუმენტები და წყაროს კოდი არ შედის.
  • მშენებლობის პროცესის გამარტივება, რადგან ყველა ეტაპი აღწერილია ერთ Dockerfile-ში.

მაგალითი:

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

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

აქ პირველად იწარმოება Go-ს აპლიკაცია, შემდეგ კი მხოლოდ კომპილირებული ბინარული ფაილი გადადის საბოლოო სურათში.