×

การใช้งานคำสั่ง Docker พื้นฐาน

การใช้งานคำสั่ง Docker พื้นฐาน

จากบทความ การติดตั้ง Docker บน Ubuntu Server 24.04 ผู้อ่านคงได้ไปทดสอบการติดตั้ง Docker ใน ubuntu linux กันไปแล้ว บทความนี้จะพาไปรู้จักกับคำสั่ง Docker พื้นฐานที่จำเป็นสำหรับผู้เริ่มต้น เพื่อใช้งานและบริหารจัดการคอนเทนเนอร์ได้อย่างมีประสิทธิภาพ

การใช้งานคำสั่ง Docker พื้นฐานสำหรับผู้ดูแลระบบและ DevOPs

1. ตรวจสอบเวอร์ชัน Docker

docker –version 

หรือ
docker -v

ผลลัพธ์
Docker version 27.5.1, build 27.5.1-0ubuntu3~24.04.2

ใช้เพื่อดูว่าเครื่องของคุณติดตั้ง Docker แล้วหรือไม่ และเป็นเวอร์ชันใด

แส้งข้อมูลเกี่ยวกับ Docker
docker info


 2. คำสั่งเกี่ยวกับ Image

  • ค้นหา Image จาก Docker Hub

ใช้ค้นหา image ที่ต้องการจาก Docker Hub
รูปแบบ
docker search <image_name>

– ตรวจสอบอิมเมจไฟล์ระบบปฏิบัติการ
docker search ubuntu
docker search debian
docker search rocker
docker search almalinux
docker search kali
docker search archlinux

– ตรวจสอบ web server 
docker search nginx
docker search apache

– ตรวจสอบฐานข้อมูล + ทูลจัดการฐานข้อมูล
docker search mysql
docker search mariadb
docker search postgresql
docker search mongodb
docker search phpmyadmin
docker search pgadmin

  • ดาวน์โหลด Image

รูปแบบ
docker pull [image_name]

docker pull nginx   // ดึงอิมเมจ Nginx มาไว้ในเครื่อง

ดาวน์โหลด image มาไว้ในเครื่องเพื่อใช้สร้าง container

    • ดูรายการ Image ที่มีอยู่

docker images
หรือ
docker image ls
  • ลบ Image
รูปแบบ
docker rmi <IMAGE_ID>

docker rmi nginx    // ลบอิมเมจที่ระบุ

 3. คำสั่งเกี่ยวกับ Container

  • สร้างและรัน Container

docker run -d -p 8080:80 –name webserver nginx
 รัน nginx container แบบ detached (พื้นหลัง) และแมปพอร์ต 8080 ไปยัง 80
  • ตรวจสอบโปรเซส Container ที่กำลังรันอยู่

docker ps
  • ตรวจสอบโปรเซส Container ทั้งหมด 

docker ps -a
หรือ
docker container ls -a
  • ปิดการใช้งาน Container

รูปแบบ
docker stop <CONTAINER_ID>
เช่น
docker stop webserver //ปิดใช้าน container ที่ระบุ
  • เปิดใช้งาน Container ใหม่

รูปแบบ
docker start <CONTAINER_ID>
เช่น
docker start webserver  //เปิดใช้งาน container ที่ระบุ
  • หยุดใช้งาน Container ชั่วคราว

รูปแบบ
docker pause <CONTAINER_ID>
docker unpause <CONTAINER_ID>

  • ลบ Container

รูปแบบ
docker rm <CONTAINER_ID>
เช่น
docker rm 8023fa359430 //ลบ container ที่ระบุ
docker rm webserver    //ลบ container ที่ระบุ (อ้างชื่อแทน)
 

4. คำสั่งสำหรับจัดการภายใน Container

  • เข้าถึง Shell ของ Container

รูปแบบ
docker exec -it <CONTAINER_ID> bash 
เช่น
docker exec -it webserver bash  //เข้าไป console container
  • ตรวจสอบ Log ของ Container

รูปแบบ
docker logs <CONTAINER_ID>
เช่น
docker logs webserver // ตรวจสอบล็อกไฟล์ container ที่ระบุ


5. คำสั่งทำความสะอาด

  • ลบ Container ที่ปิดใช้งานแล้ว

docker container prune
  • ลบ Image ที่ไม่ได้ใช้งาน

docker image prune 
 

6. สร้าง Container โดยไม่รันทันที

docker create –name test-nginx nginx
ใช้สร้าง container โดยยังไม่เริ่มรัน (ใช้ในกรณีที่ต้องการตั้งค่าก่อน)

7. Restart Container อัตโนมัติ

docker run -d –restart=always –name webserver nginx

สั่งให้ container restart อัตโนมัติหากระบบ reboot หรือ container หยุดเอง


8. ตรวจสอบรายละเอียดของ Container แบบละเอียด

docker inspect webserver

แสดงข้อมูล JSON ทั้งหมดของ container เช่น network, volume, path, IP


9. ตรวจสอบการใช้ทรัพยากรแบบเรียลไทม์

docker stats

– ดู CPU, Memory, Network I/O ของ container ทั้งหมดแบบ real-time


10. แมปโฟลเดอร์จากเครื่องจริงเข้า container

docker run -v /host/data:/data nginx
แมปไดเรกทอรี /host/data บนเครื่องจริงไปยัง /data ใน container

11. ตรวจสอบ logs แบบต่อเนื่อง (live)

docker logs -f webserver
– คล้าย tail -f สำหรับติดตาม log แบบสด

12. ลิสต์ Volume ทั้งหมด

docker volume ls
– ใช้ตรวจสอบ volume ที่ Docker ใช้งานอยู่

13. สร้าง Network ใหม่

docker network create mynet
– สร้าง network แบบ custom สำหรับเชื่อมต่อ container

14. เชื่อม Container เข้ากับ Network

docker network connect mynet webserver
– เชื่อม container webserver เข้ากับ network mynet

15. บันทึก Image จาก Container

docker commit webserver mynginx:backup
– สร้าง image ใหม่จาก container ที่ใช้งานอยู่ (เช่นใช้เพื่อ backup สถานะ)

16. รัน Container พร้อมกำหนด Environment Variable

docker run -e MY_ENV=production ubuntu env
– ใช้กำหนดค่าตัวแปรสภาพแวดล้อม (Environment Variable) ใน container

17. เข้าสู่ Container ที่หยุดอยู่ (ผ่าน start + exec)

docker start webserver docker exec -it webserver bash
– สำหรับ container ที่ถูก stop ไปแล้ว สามารถ start และเข้า shell ต่อได้

18. บันทึก image เป็นไฟล์ .tar

docker save -o nginx.tar nginx
– ใช้ export image ออกมาเป็นไฟล์ tar สำหรับ backup หรือย้ายเครื่อง

19. โหลด image จากไฟล์ .tar

docker load -i nginx.tar
– ใช้ restore image จากไฟล์ tar ที่เคย save ไว้

20. ตรวจสสอบประวัติของ image

docker history nginx
– แสดงลำดับชั้น (layers) และคำสั่งที่ใช้สร้าง image นั้นๆ


สรุป

Docker เป็นเครื่องมือสำคัญในโลกของ DevOps และ Software Development สมัยใหม่ คำสั่งพื้นฐานที่กล่าวมานี้เป็นจุดเริ่มต้นที่ดีสำหรับการเรียนรู้และใช้งาน Docker อย่างมีประสิทธิภาพ หากคุณเข้าใจวิธีการใช้ image, container และการจัดการทรัพยากรต่าง ๆ แล้ว ก็จะสามารถนำ Docker ไปประยุกต์ใช้ในโครงการจริงได้อย่างมั่นใจ  20 คำสั่งพื้นฐานในบทความนี้ครอบคลุมตั้งแต่การจัดการ image, container, network, volume, ไปจนถึงการ backup และ debug ถือเป็นพื้นฐานสำคัญที่ช่วยให้คุณบริหารระบบได้คล่องแคล่วมากขึ้นในโลกของ containerization ทั้งนี้ SysAdmin สามารถศึกษาเพิิ่มเติมได้จากเว็บ Google หรือสอบถามเทคนิคเพิ่มเติมได้จาก Gen AI ที่ใช้งานอยู่ สิ่งสำคัญที่สุดคือได้ทดลองปฏิบัติ ควบคู่การเรียนรู้ เพื่อลับคมความรู้ของตนเองอย่างสม่ำเสมอครับ 🙂


เขียนและรวบรวมโดย
Dr.Arnut Ruttanatirakul
Technology Lecturer, KMITL
26 June 2025