Docker· ~18 นาที
Dockerfile — สร้าง image ของตัวเอง (+ Lab)
เขียนสูตร build image พร้อมเข้าใจ layer และ cache
Dockerfile คือสูตรอาหาร — เขียนขั้นตอนทีละสเต็ปว่าจะประกอบ image ยังไง · แต่ละบรรทัดสร้าง layer หนึ่งชั้น ที่ Docker แคชไว้ให้ build ครั้งถัดไปเร็วขึ้น
แต่ละคำสั่ง = 1 layer · วางของเปลี่ยนน้อยไว้ล่าง (ฐาน) เพื่อใช้ cache
CMD ["node","server.js"]เปลี่ยนบ่อยสุด
COPY . .โค้ดแอป
RUN npm installdependency (แคชคุ้ม)
COPY package*.json ./ไฟล์ dependency
FROM node:20-alpinebase image
แก้แค่โค้ด → layer ล่างยังใช้ cache เดิม → build เร็ว
🧪 Lab: สร้าง image เว็บแอปของตัวเอง
# 1) image ฐานที่มี Node.js อยู่แล้ว
FROM node:20-alpine
# 2) โฟลเดอร์ทำงานภายใน container
WORKDIR /app
# 3) ก๊อป dependency ก่อน (แยก layer เพื่อใช้ cache)
COPY package*.json ./
RUN npm install
# 4) ค่อยก๊อปโค้ดที่เหลือ (ส่วนที่เปลี่ยนบ่อย อยู่ล่าง)
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]docker build -t myapp:1.0 . # build จาก Dockerfile ในโฟลเดอร์นี้ (.)
docker run -d -p 3000:3000 myapp:1.0
docker images # เห็น myapp:1.0 ที่เพิ่งสร้างสรุป Key Takeaways
- Dockerfile = สูตร build image · แต่ละบรรทัด = 1 layer ที่แคชได้
- docker build -t ชื่อ:tag . แล้ว docker run
- วางของที่เปลี่ยนน้อย (dependency) ไว้บน เพื่อใช้ cache คุ้มสุด
- ใช้ .dockerignore กันไฟล์ไม่จำเป็น/ลับเข้า image
อ่านจบแล้วอย่าลืมทำเครื่องหมาย

