Sobes.tech
Senior

რა პრაქტიკებია Docker-ის სურათის ზომის შემცირებისთვის?

sobes.tech AI

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

დოკერის სურათის ზომის შემცირების მიზნით, გამოიყენება რამდენიმე პრაქტიკა:

  • მინიმალისტური ბაზის სურათების გამოყენება, მაგალითად, alpine ნაცვლად ubuntu.
  • მრავალსაფეხურიანი მშენებლობა (multi-stage builds), სადაც პირველ ეტაპებზე აშენდება აპლიკაცია, ხოლო საბოლოო სურათზე რჩება მხოლოდ მინიმალური გარემო და აგებული ბინარული ფაილი.
  • კეშებისა და დროებითი ფაილების გასუფთავება, ინსტალაციის შემდეგ Dockerfile-ში.
  • RUN ბრძანებების გაერთიანება, რათა შემცირდეს ფენების რაოდენობა.
  • .dockerignore გამოყენება არასაჭირო ფაილების გამორიცხვისთვის მშენებლობის კონტექსტიდან.

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

# პირველი ფენა: მშენებლობა
FROM golang:1.20-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# მეორე ფენა: მინიმალური გარემო
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

ეს მიდგომა საშუალებას აძლევს მიიღოთ კომპაქტური სურათი მინიმალური ფაილური კომპლექტით.