
การใช้งาน Docker ได้กลายเป็นทักษะพื้นฐานสำหรับนักพัฒนาซอฟต์แวร์และสายงาน DevOps ไปแล้ว เพราะช่วยให้เราสามารถจำลองสภาพแวดล้อมในการรันแอปพลิเคชันได้อย่างสะดวกและรวดเร็ว บทความนี้ได้รวบรวมคำสั่ง Docker ที่ใช้งานบ่อย โดยแบ่งออกเป็นกลุ่มๆ เพื่อให้คุณสามารถเลือกนำไปใช้งานหรือคัดลอกโค้ดไปใช้ได้ทันที
1. การจัดการ Image (Docker Images)
Image คือตัวต้นแบบของ Container ที่เราต้องการใช้งาน คำสั่งพื้นฐานที่ควรรู้มีดังนี้
ดาวน์โหลด Image จาก Docker Hub
docker pull [image_name]
ตรวจสอบรายการ Image ในเครื่อง
docker images
ลบ Image ที่ไม่ใช้งาน
docker rmi [image_id_or_name]
สร้าง Image จาก Dockerfile
docker build -t [image_name]:[tag] .
2. การจัดการ Container (Docker Containers)
Container คือส่วนที่โปรแกรมของเราทำงานอยู่จริง การควบคุมสถานะของ Container จึงเป็นเรื่องสำคัญ
สร้างและรัน Container
docker run -d --name [container_name] -p [host_port]:[container_port] [image_name]
ตรวจสอบ Container ที่กำลังทำงานอยู่
docker ps
ตรวจสอบ Container ทั้งหมด (รวมที่หยุดทำงานแล้ว)
docker ps -a
หยุดการทำงานของ Container
docker stop [container_id_or_name]
เริ่มการทำงาน Container ที่หยุดไปแล้ว
docker start [container_id_or_name]
ลบ Container
docker rm -f [container_id_or_name]
เข้าไปสั่งงานภายใน Container (Interactive Shell)
docker exec -it [container_id_or_name] /bin/bash
3. การดู Log และการตรวจสอบสถานะ (Logs & Monitoring)
เมื่อเกิดปัญหาหรือต้องการดูการทำงานของแอปพลิเคชัน เราจะใช้คำสั่งเหล่านี้
ดู Log ของ Container
docker logs [container_id_or_name]
ดู Log แบบ Real-time (Follow)
docker logs -f [container_id_or_name]
ตรวจสอบการใช้ทรัพยากร (CPU/Memory)
docker stats
ดูรายละเอียดเชิงลึกของ Container
docker inspect [container_id_or_name]
4. การจัดการ Volume และ Network
ข้อมูลภายใน Container จะหายไปเมื่อลบ Container ทิ้ง ดังนั้นเราจึงต้องใช้ Volume ในการเก็บข้อมูล
แสดงรายการ Volume ทั้งหมด
docker volume ls
สร้าง Volume ใหม่
docker volume create [volume_name]
แสดงรายการ Network ทั้งหมด
docker network ls
5. การทำความสะอาดระบบ (Cleanup)
เมื่อใช้งานไปนานๆ Docker อาจจะกินพื้นที่เครื่องจากไฟล์ที่ไม่ได้ใช้งาน
ลบ Container, Network และ Image ที่ไม่ได้ถูกใช้งาน (Prune)
docker system prune
ลบทุกอย่างรวมถึง Image ที่ไม่มี Container เรียกใช้ (Deep Clean)
docker system prune -a --volumes
เทคนิคการใช้งานเพิ่มเติม
- การรัน Container แล้วให้ลบทิ้งทันทีเมื่อเลิกใช้งาน: ใช้ Flag
--rmในคำสั่ง run เช่นdocker run --rm [image_name] - การตั้งชื่อ Container: ควรใช้ Flag
--nameเสมอเพื่อให้ง่ายต่อการจัดการแทนการใช้ Container ID ที่จำยาก - การรันแบบ Background: ใช้ Flag
-d(Detached mode) เพื่อให้ Container ทำงานเบื้องหลังโดยไม่ค้างหน้าจอ Terminal
บทสรุป
คำสั่งที่รวบรวมมานี้เป็นพื้นฐานสำคัญที่จะช่วยให้คุณเริ่มต้นใช้งาน Docker ได้อย่างมืออาชีพ หากคุณเข้าใจการทำงานของ Image, Container, และการจัดการทรัพยากรเบื้องต้นแล้ว การต่อยอดไปสู่ Docker Compose หรือ Kubernetes ก็จะเป็นเรื่องที่ง่ายขึ้นมาก อย่าลืมหมั่นฝึกฝนและลองใช้งานคำสั่งต่างๆ เพื่อความคุ้นเคยในการทำงานจริง
