Docker· ~13 นาที
Best Practices และ Security
ทำ image/คอนเทนเนอร์ให้ปลอดภัยตามหลักที่ควรทำ
ความปลอดภัย container เหมือนล็อกบ้านหลายชั้น — ไม่ให้ใครถือกุญแจ master (ไม่รันเป็น root), ตรวจของก่อนเข้า (สแกน image), และไม่เก็บของมีค่าไว้หน้าบ้าน (ไม่ฝัง secret ใน image)
เช็กลิสต์ที่ควรทำ
- อย่ารันเป็น root — ใส่
USERใน Dockerfile ให้รันด้วย user ธรรมดา ลดความเสียหายถ้าถูกเจาะ - pin เวอร์ชัน — ระบุ tag/digest ชัดเจน ไม่ใช้
latest(ทบทวนจากบท Registry) - อย่าฝัง secret ใน image — รหัสผ่าน/key ส่งผ่าน env หรือ secret ตอน run ไม่ใช่ COPY เข้า image
- สแกนช่องโหว่ — ใช้
docker scoutหรือ Trivy สแกน image ก่อน push - .dockerignore + image เล็ก — ลดของไม่จำเป็น = ลดผิวโจมตี
- ใช้ base image ทางการ/เชื่อถือได้ และอัปเดตสม่ำเสมอ
FROM node:20-alpine
WORKDIR /app
COPY --chown=node:node . .
RUN npm ci --omit=dev
USER node # สลับไปรันด้วย user "node" (ไม่ใช่ root)
CMD ["node", "server.js"]docker scout cves myapp:1.0 # เครื่องมือในตัว Docker
# หรือ Trivy (นิยมมาก, ฟรี)
trivy image myapp:1.0สรุป Key Takeaways
- อย่ารันเป็น root (ใส่ USER) · pin เวอร์ชัน · อย่าฝัง secret ใน image
- สแกนช่องโหว่ด้วย docker scout / Trivy ก่อน push
- secret ที่ COPY เข้า image ค้างใน layer เดิม ลบไม่ออก — ห้ามทำ
อ่านจบแล้วอย่าลืมทำเครื่องหมาย

