Docker layer กับการ caching
ยุคนี้ผมคิดว่าทุกคนคงใช้ Docker ในการทำงานกันอยู่แล้ว วันนี้อยากเขียนสั้นๆ เบื้องหลังการทำงานเวลาที่เรารัน build docker image จาก Dockerfile ว่ามันมีอะไรเกิดอะไรขึ้นบ้าง สามารถทำยังไงให้มันเร็วขึ้นได้ และวิธีการเรียงลำดับ instruction ใน Dockerfile Dockerfile ในการสร้าง Docker image เราจะต้องกำหนดสิ่งที่เราต้องการ (instruction) ใน image ของเรา เช่นจะลง OS อะไร หรือลง dependencies ตัวไหน version อะไร ซึ่งเราจะเขียนทั้งหมดที่เราต้องการไว้ใน Dockerfile ไฟล์นี้เป็นเหมือนแม่พิมพ์สำหรับ image ของเรา ถ้าเปรียบเทียบกับโลก OOP ตัว Docker image เป็นเหมือน Class ส่วนตัว container เป็นเหมือน instance ของ class นั้นๆ ที่เราได้สร้างขึ้น เราสามารถสร้าง container มาเท่าไรก็ได้จาก image ที่เราได้สร้างไว้ FROM ubuntu:18.04 COPY . /app RUN make /app CMD python /app/app.py ตัวอย่าง Dockerfile ที่จะสร้าง Docker image ที่ใช้ ubuntu เวอร์ชั่น 18....