Sobes.tech
Junior — Middle

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

sobes.tech AI

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

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

ეს ეხმარება:

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

მრავალსაფეხურიანი მშენებლობის Dockerfile-ის მაგალითი:

# მშენებლობის ეტაპი
FROM maven:3.8-jdk-11 AS builder
WORKDIR /app
COPY . .
RUN mvn clean package

# შესრულების ეტაპი
FROM openjdk:11-jre-slim
WORKDIR /app
COPY --from=builder /app/target/myapp.jar ./
CMD ["java", "-jar", "myapp.jar"]