หากคุณเพิ่งเริ่มใช้ Docker การจำคำสั่งทุกตัวอาจดูน่ากลัว บทความนี้รวบรวม 20 คำสั่งที่ใช้งานจริงบ่อยที่สุด พร้อมตัวอย่างการใช้งานจริง
1. docker run — สร้างและรัน Container
# รันแบบพื้นฐาน
docker run nginx
# รันเป็น Background (-d) และ Map Port
docker run -d -p 8080:80 nginx
# รันและตั้งชื่อ Container
docker run -d --name my-nginx -p 8080:80 nginx
2. docker ps — ดูรายการ Container
# ดูเฉพาะ Container ที่กำลังรัน
docker ps
# ดูทุก Container รวมที่หยุดแล้ว
docker ps -a
3. docker stop / start / restart — ควบคุม Container
docker stop my-nginx
docker start my-nginx
docker restart my-nginx
4. docker rm — ลบ Container
# ลบ Container ที่หยุดแล้ว
docker rm my-nginx
# ลบทั้งที่ยังรันอยู่ (Force)
docker rm -f my-nginx
5. docker images — ดูรายการ Image
docker images
6. docker pull — ดาวน์โหลด Image
# ดาวน์โหลด Image ล่าสุด
docker pull nginx
# ดาวน์โหลด Image เพาะ Version
docker pull nginx:1.25
7. docker rmi — ลบ Image
docker rmi nginx
docker rmi nginx:1.25
8. docker build — Build Image จาก Dockerfile
# Build จาก Dockerfile ใน Directory ปัจจุบัน
docker build -t my-app .
# Build พร้อม Tag Version
docker build -t my-app:1.0 .
9. docker exec — รันคำสั่งใน Container ที่รันอยู่
# เข้าไปใน Shell ของ Container
docker exec -it my-nginx bash
# รันคำสั่งเดียว
docker exec my-nginx nginx -v
10. docker logs — ดู Log ของ Container
# ดู Log ทั้งหมด
docker logs my-nginx
# ดู Log แบบ Real-time
docker logs -f my-nginx
# ดูแค่ 50 บรรทัดล่าสุด
docker logs --tail 50 my-nginx
11. docker inspect — ดูรายละเอียด Container/Image
docker inspect my-nginx
12. docker stats — ดูการใช้ทรัพยากรแบบ Real-time
docker stats
docker stats my-nginx
13. docker cp — คัดลอกไฟล์เข้า/ออก Container
# คัดลอกจาก Container ไป Host
docker cp my-nginx:/etc/nginx/nginx.conf ./nginx.conf
# คัดลอกจาก Host ไป Container
docker cp ./nginx.conf my-nginx:/etc/nginx/nginx.conf
14. docker volume — จัดการ Volume
# สร้าง Volume
docker volume create my-data
# ดูรายการ Volume
docker volume ls
# ลบ Volume
docker volume rm my-data
15. docker network — จัดการ Network
# ดูรายการ Network
docker network ls
# สร้าง Network ใหม่
docker network create my-network
16. docker tag — ตั้งชื่อ Image
docker tag my-app:latest myrepo/my-app:1.0
17. docker push — อัปโหลด Image ขึ้น Registry
docker push myrepo/my-app:1.0
18. docker login / logout — เข้าสู่ Registry
docker login
docker logout
19. docker system prune — ล้างของที่ไม่ใช้ให้หมด
# ลบ Container ที่หยุด, Image เก่า, Network ที่ไม่ใช้
docker system prune
# ลบทุกอย่างรวมทั้ง Volume
docker system prune -a --volumes
20. docker compose up/down — จัดการ Multi-Container
# เริ่มต้น Services ทั้งหมด
docker compose up -d
# หยุดและลบทุกอย่าง
docker compose down
# หยุดและลบรวมทั้ง Volume
docker compose down -v
สรุปตารางคำสั่ง
| คำสั่ง | การใช้งาน |
|---|---|
docker run |
สร้างและรัน Container |
docker ps |
ดูรายการ Container |
docker stop/start |
หยุด/เริ่ม Container |
docker rm |
ลบ Container |
docker images |
ดูรายการ Image |
docker pull |
ดาวน์โหลด Image |
docker rmi |
ลบ Image |
docker build |
Build Image จาก Dockerfile |
docker exec |
รันคำสั่งใน Container |
docker logs |
ดู Log |
docker inspect |
ดูรายละเอียด |
docker stats |
ดูการใช้ Resource |
docker cp |
คัดลอกไฟล์ |
docker volume |
จัดการ Volume |
docker network |
จัดการ Network |
docker tag |
ตั้งชื่อ Image |
docker push |
อัปโหลด Image |
docker login |
เข้าสู่ Registry |
docker system prune |
ล้างของเก่า |
docker compose up/down |
จัดการ Multi-Container |
เมื่อคุ้นเคยกับคำสั่งเหล่านี้แล้ว ขั้นตอนถัดไปคือเรียนรู้ การเขียน Dockerfile เพื่อสร้าง Image ของตัวเองได้ครับ

