การรัน Containers
Container คืออะไร?
หัวข้อที่มีชื่อว่า “Container คืออะไร?”Image คือพิมพ์เขียว ส่วน container คือ instance ที่กำลังทำงานอยู่จริงของพิมพ์เขียวนั้น — เป็น process ที่ถูกแยกออกมา มีระบบไฟล์, network, และ process space เป็นของตัวเอง โดยทั้งหมดใช้ host kernel ร่วมกัน
คุณสามารถรัน container หลายตัวจาก image เดียวกัน, หยุดและรีสตาร์ทได้, ดู log, และลบทิ้งเมื่อใช้งานเสร็จ การเข้าใจวงจรชีวิตนี้เป็นพื้นฐานสำคัญของการทำงานกับ Docker ในชีวิตประจำวัน
วงจรชีวิตของ container
หัวข้อที่มีชื่อว่า “วงจรชีวิตของ container”Container ผ่านสถานะทั้งสี่นี้:
| สถานะ | ความหมาย |
|---|---|
| Created | docker create จัดสรร container ไว้แล้ว แต่ยังไม่เริ่มทำงาน |
| Running | process หลักของ container กำลังทำงานอยู่ |
| Stopped | process หลักสิ้นสุดแล้ว (หรือคุณเรียก docker stop) — container ยังอยู่บนดิสก์ |
| Removed | docker rm ลบ container และคืนพื้นที่ writable layer |
docker run → Created + Runningdocker stop → Stoppeddocker start → Running againdocker rm → Removed (gone)สิ่งที่จะเรียนในโมดูลนี้
หัวข้อที่มีชื่อว่า “สิ่งที่จะเรียนในโมดูลนี้”| บทเรียน | หัวข้อ |
|---|---|
| Lifecycle | docker run, docker ps, docker stop/start/restart, docker rm, --rm |
| Exec & Logs | docker exec -it, docker logs, docker top, การ attach |
| Ports & Env | เผยแพร่ port ด้วย -p, ตัวแปร environment ด้วย -e, การตั้งชื่อด้วย --name |
| Restart & Inspect | นโยบาย restart, docker inspect, docker stats, การจำกัด resource |
ตัวอย่างด่วน — รัน, แสดงรายการ, และหยุด
หัวข้อที่มีชื่อว่า “ตัวอย่างด่วน — รัน, แสดงรายการ, และหยุด”สามคำสั่งที่คุณจะใช้บ่อยที่สุดในโมดูลนี้:
# Pull และรัน nginx ในเบื้องหลังdocker run -d --name demo nginx:alpine
# แสดงรายการ container ที่กำลังทำงานdocker ps
# หยุดมันdocker stop demo
# ลบทิ้งdocker rm demoCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESa1b2c3d4e5f6 nginx:alpine "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 80/tcp demo# Pull and run nginx detached
docker run -d --name demo nginx:alpine
# Confirm it is running
docker ps
# Stop the container
docker stop demo
# Remove it
docker rm demo
# Confirm it is gone
docker ps -a