คอนเทนเนอร์· ~14 นาที
Image, Dockerfile และ Registry
สร้างกล่องด้วย Dockerfile เก็บ/แชร์กล่องผ่าน registry
Dockerfile เหมือนสูตรอาหาร (บอกขั้นตอนทำทีละสเต็ป) · Image คืออาหารที่ทำเสร็จแช่แข็งไว้ · Registry คือตู้แช่กลาง (เช่น Docker Hub) ที่ใครก็มาหยิบ image ไปอุ่นรันต่อได้
Dockerfile — สูตรสร้าง image
Dockerfile คือไฟล์ข้อความที่บอกว่าจะประกอบ image ยังไง แต่ละบรรทัดสร้าง layer หนึ่งชั้น (Docker แคช layer ไว้ ทำให้ build ครั้งถัดไปเร็วขึ้น)
# 1) เริ่มจาก image ฐานที่มี Node.js ติดตั้งอยู่แล้ว
FROM node:20-alpine
# 2) กำหนดโฟลเดอร์ทำงานภายใน container
WORKDIR /app
# 3) ก๊อปไฟล์ dependency แล้วติดตั้ง (แยกชั้นไว้เพื่อใช้แคช)
COPY package*.json ./
RUN npm install
# 4) ก๊อปโค้ดที่เหลือเข้าไป
COPY . .
# 5) บอกว่าแอปเปิดพอร์ตไหน
EXPOSE 3000
# 6) คำสั่งที่รันตอน container เริ่มทำงาน
CMD ["node", "server.js"]วงจรการทำงานพื้นฐาน
# สร้าง image จาก Dockerfile แล้วตั้งชื่อ (tag)
docker build -t myapp:1.0 .
# ส่งขึ้น registry กลางให้คนอื่น/เซิร์ฟเวอร์ดึงไปใช้ได้
docker push myregistry/myapp:1.0
# บนเครื่องอื่น: ดึง image ลงมา
docker pull myregistry/myapp:1.0
# รัน container จาก image (map พอร์ต 8080 ของเครื่อง → 3000 ในกล่อง)
docker run -p 8080:3000 myapp:1.0สรุป Key Takeaways
- Dockerfile = สูตร, Image = ผลลัพธ์แช่แข็ง, Registry = ตู้แช่กลางไว้แชร์
- แต่ละบรรทัดใน Dockerfile = 1 layer ที่ถูกแคชเพื่อ build เร็วขึ้น
- วงจร: build → push → pull → run
- ตั้ง tag เวอร์ชันชัดเจน อย่าพึ่ง latest ใน production
อ่านจบแล้วอย่าลืมทำเครื่องหมาย

