ข้ามไปยังเนื้อหา

การรัน Containers

Image คือพิมพ์เขียว ส่วน container คือ instance ที่กำลังทำงานอยู่จริงของพิมพ์เขียวนั้น — เป็น process ที่ถูกแยกออกมา มีระบบไฟล์, network, และ process space เป็นของตัวเอง โดยทั้งหมดใช้ host kernel ร่วมกัน

คุณสามารถรัน container หลายตัวจาก image เดียวกัน, หยุดและรีสตาร์ทได้, ดู log, และลบทิ้งเมื่อใช้งานเสร็จ การเข้าใจวงจรชีวิตนี้เป็นพื้นฐานสำคัญของการทำงานกับ Docker ในชีวิตประจำวัน

Container ผ่านสถานะทั้งสี่นี้:

สถานะความหมาย
Createddocker create จัดสรร container ไว้แล้ว แต่ยังไม่เริ่มทำงาน
Runningprocess หลักของ container กำลังทำงานอยู่
Stoppedprocess หลักสิ้นสุดแล้ว (หรือคุณเรียก docker stop) — container ยังอยู่บนดิสก์
Removeddocker rm ลบ container และคืนพื้นที่ writable layer
docker run → Created + Running
docker stop → Stopped
docker start → Running again
docker rm → Removed (gone)
บทเรียนหัวข้อ
Lifecycledocker run, docker ps, docker stop/start/restart, docker rm, --rm
Exec & Logsdocker exec -it, docker logs, docker top, การ attach
Ports & Envเผยแพร่ port ด้วย -p, ตัวแปร environment ด้วย -e, การตั้งชื่อด้วย --name
Restart & Inspectนโยบาย restart, docker inspect, docker stats, การจำกัด resource

สามคำสั่งที่คุณจะใช้บ่อยที่สุดในโมดูลนี้:

Terminal window
# Pull และรัน nginx ในเบื้องหลัง
docker run -d --name demo nginx:alpine
# แสดงรายการ container ที่กำลังทำงาน
docker ps
# หยุดมัน
docker stop demo
# ลบทิ้ง
docker rm demo
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 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
Container จะเข้าสู่สถานะใดทันทีหลังจาก 'docker stop'?
ความแตกต่างระหว่าง image กับ container คืออะไร?
หลังจาก 'docker stop' คุณสามารถเริ่ม container อีกครั้งได้หรือไม่?