คำสั่ง Docker พื้นฐานที่จำเป็นที่ควรรู้

การใช้งาน 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 ก็จะเป็นเรื่องที่ง่ายขึ้นมาก อย่าลืมหมั่นฝึกฝนและลองใช้งานคำสั่งต่างๆ เพื่อความคุ้นเคยในการทำงานจริง

Scroll to Top