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-ს აპლიკაცია, შემდეგ კი მხოლოდ კომპილირებული ბინარული ფაილი გადადის საბოლოო სურათში.