การลดขนาด Image Docker

วิธีการลดขนาด Docker Image

  1. เลือก Base Image เล็กๆ: ใช้ base image ที่มีขนาดเล็ก เช่น Alpine Linux (alpine) แทนการใช้ images มาตรฐานที่มีขนาดใหญ่กว่า

  2. ลบไฟล์ที่ไม่จำเป็น: เอาการติดตั้งหรือไฟล์ที่ไม่จำเป็นออกหลังจากการติดตั้ง เช่น package lists ที่อยู่ใน /var/lib/apt/lists หลังจากใช้ apt-get

    RUN apt-get update && apt-get install -y \
        package1 \
        package2 \
    && rm -rf /var/lib/apt/lists/*
  3. ใช้ Multi-stage Builds: แยกการ build และ run stages ซึ่งจะทำให้คุณสามารถทิ้ง artifacts หรือ dependencies ที่ไม่จำเป็นในการ run ได้

    # build stage
    FROM golang:1.17 as builder
    WORKDIR /app
    COPY . .
    RUN go build -o myapp
    
    # final stage
    FROM alpine
    COPY --from=builder /app/myapp /myapp
    CMD ["/myapp"]
  4. Minimize Layers: รวมหลายๆ คำสั่งใน Dockerfile ให้เป็นคำสั่งเดียว เพื่อช่วยลดจำนวน layers

    RUN apt-get update && apt-get install -y \
        package1 \
        package2 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
  5. ใช้ Docker Ignore Files: เพิ่มไฟล์ .dockerignore เพื่อระบุไฟล์หรือโฟลเดอร์ที่ไม่ต้องการคัดลอกไปใน image

    node_modules
    *.log

การปฏิบัติตามคำแนะนำเหล่านี้จะช่วยลดขนาดของ Docker images และช่วยให้การดึง (pull) และการนำเข้า (deploy) เร็วขึ้นได้.

Last updated

Was this helpful?