ข้ามไปเนื้อหาหลัก
Docker· ~15 นาที· อัปเดตล่าสุด

Image, Container และคำสั่งที่ใช้บ่อย

แยก image กับ container ให้ขาด + ชุดคำสั่งจัดการประจำวัน

ปูพื้นฐาน: คนเพิ่งเริ่มมักจะสับสนระหว่าง Image กับ Container ให้จำง่ายๆ ว่า Image คือไฟล์ต้นฉบับ ส่วน Container คือสิ่งที่มีชีวิตที่ถูกปลุกขึ้นมาจาก Image

Image คือแม่พิมพ์ Container คือขนม

Image = แม่พิมพ์/คลาส (อ่านอย่างเดียว) · Container = ของที่ปั๊มออกมาแล้วกำลังรัน (instance) · จาก image เดียวรัน container ได้หลายตัวพร้อมกัน เหมือนกดขนมจากแม่พิมพ์เดียวหลายชิ้น

วงจรพื้นฐาน: pull/build image → run เป็น container → จัดการ (ดู log, เข้าไปข้างใน, หยุด, ลบ) · จำชุดคำสั่งด้านล่างไว้ ใช้เกือบทุกวัน

# --- image ---
docker pull nginx:1.27      # ดึง image จาก registry
docker images               # ดู image ที่มีในเครื่อง
docker rmi nginx:1.27       # ลบ image

# --- container ---
docker run -d -p 8080:80 --name web nginx   # รันแบบเบื้องหลัง (-d) + map พอร์ต
docker ps                   # ดู container ที่รันอยู่ (เติม -a = รวมที่หยุดแล้ว)
docker logs -f web          # ดู log แบบตามสด
docker exec -it web bash    # เข้าไปใน container (เปิด shell)
docker rm -f web            # ลบ container (บังคับแม้กำลังรัน)
คำสั่ง Docker ที่ใช้บ่อยที่สุด

สรุป Key Takeaways

  • Image = แม่พิมพ์ (อ่านอย่างเดียว) · Container = instance ที่กำลังรัน
  • วงจร: pull/build → run → logs/exec/stop/rm
  • flag สำคัญ: -d (เบื้องหลัง), -p (พอร์ต), -it (โต้ตอบ), --name, --rm

คำถามที่พบบ่อย

ลบ container แล้ว image หายไหม ลบ image แล้วดิสก์คืนเท่าไหร่

ลบ container ไม่กระทบ image (คนละชั้นกัน) — ส่วนพื้นที่ดิสก์ดูรวมด้วย docker system df และล้างของไม่ใช้ด้วย docker system prune (เพิ่ม -a ล้าง image ที่ไม่มี container ใช้ด้วย — ระวังต้อง pull ใหม่) — ดิสก์เต็มเพราะ image/บิลด์เก่าเป็นปัญหาอันดับหนึ่งของคนใช้ Docker

docker run กับ docker start ต่างกันยังไง

run = สร้าง container "ใหม่" จาก image (พร้อม config ใหม่) ส่วน start = ปลุก container "เดิม" ที่หยุดอยู่ให้รันต่อด้วย config เดิม — คนงงบ่อยตอนอยากแก้ port/env: ต้องสร้างใหม่ด้วย run เพราะ config ของ container เดิมแก้ไม่ได้

อ่านจบแล้วอย่าลืมทำเครื่องหมาย