20 ธ.ค. เวลา 04:26 • การศึกษา

Docker CLI คืออะไร

โดย
หาก Docker Engine เปรียบเสมือน "เครื่องยนต์" ที่ทรงพลังของระบบ Container Docker CLI (Command Line Interface) ก็คือ "พวงมาลัย และ แผงควบคุม" ที่ทำให้นักพัฒนาสามารถสั่งการเครื่องยนต์นั้นได้อย่างแม่นยำ ไม่ว่าจะเป็นการสร้าง Image หรือ การจัดการระบบขนาดใหญ่ Docker CLI คือภาษาสากลที่นักพัฒนา และ DevOps ทุกคนต้องรู้
1
  • ​Docker CLI คืออะไร
Docker CLI คือเครื่องมือบรรทัดคำสั่งหลักสำหรับโต้ตอบกับ Docker Engine ทำหน้าที่เป็น "ผู้แปลภาษา" ที่รับคำสั่งจากมนุษย์แล้วส่งต่อไปยัง Docker Daemon เพื่อประมวลผลจริง
  • ​Docker CLI ทำงานอย่างไร
1) รับคำสั่ง
เราพิมพ์คำสั่ง เช่น docker run nginx
2) ติดต่อ Daemon
CLI ส่งคำขอผ่าน REST API ไปยัง Docker Daemon
3) แสดงผล
เมื่อ Daemon ทำงานเสร็จ CLI จะแสดงผลลัพธ์ให้เราเห็นบนหน้าจอ
1
  • ​ประเภทของคำสั่ง Docker CLI ที่สำคัญ 🛠
1) หมวดจัดการ Container (หัวใจหลัก)
○ docker run : สร้างและรัน Container ใหม่
○ docker ps : แสดงรายการ Container ที่กำลังรันอยู่ (-a เพื่อดูทั้งหมด)
○ docker stop / start : หยุดหรือ เริ่ม Container
○ docker rm : ลบ Container
○ docker exec : รันคำสั่งเข้าไปใน Container ที่กำลังทำงานอยู่ (เช่น docker exec -it bash)
○ docker logs : ดูประวัติการทำงาน (Logs) ของ Container
2) หมวดจัดการ Image
○ docker images : แสดงรายการ Image ที่มีในเครื่อง
○ docker build : สร้าง Image จาก Dockerfile
○ docker pull / push : ดึง หรือ ส่ง Image ไปยัง Registry (เช่น Docker Hub)
○ docker rmi : ลบ Image ออกจากเครื่อง
1
3) หมวดจัดการระบบและทรัพยากร
○ docker network : จัดการเครือข่ายระหว่าง Container
○ docker volume : จัดการพื้นที่เก็บข้อมูลที่คงทน (Persistent Data)
○ docker system prune : ทำความสะอาดระบบ ลบทรัพยากรที่ไม่ได้ใช้งานเพื่อคืนพื้นที่ดิสก์
○ docker stats : ดูการใช้ RAM และ CPU ของ Container แบบเรียลไทม์
  • ​ประโยชน์
1) รวดเร็วและเบา
ใช้ทรัพยากรเครื่องน้อยกว่าการใช้ GUI (หน้าจอโปรแกรม)
2) ทำงานอัตโนมัติ (Automation)
สามารถเขียนเป็น Script เพื่อให้ระบบทำงานเองได้ (เช่นใน CI/CD Pipeline)
3) มาตรฐานเดียวกัน
คำสั่งเหมือนกันไม่ว่าจะใช้บน Windows, Mac หรือ Linux
4) เข้าถึงทุกฟีเจอร์
CLI มักจะรองรับฟีเจอร์ใหม่ๆ และ การตั้งค่าเชิงลึกได้มากกว่าเครื่องมือแบบหน้าจอ
  • ​Workshop: 5 สถานการณ์การใช้ Docker CLI ที่พบบ่อย
1) การรันเว็บเซิร์ฟเวอร์แบบด่วน (เช่น Nginx)
หากคุณต้องการเปิดเว็บเซิร์ฟเวอร์เพื่อทดสอบหน้าเว็บง่ายๆ
```bash
# รัน Nginx แบบ Background (-d) และเชื่อมพอร์ต 8080 ของเครื่องเข้ากับ 80 ของ Container
docker run -d -p 8080:80 --name my-web nginx
# ตรวจสอบว่า Container รันอยู่หรือไม่
docker ps
```
2) การเข้าไปแก้ไขไฟล์หรือเช็คข้อมูลข้างใน Container
บางครั้งเราต้องการเข้าไปพิมพ์คำสั่งภายใน Container เหมือนใช้งานคอมพิวเตอร์อีกเครื่อง:
```bash
# ใช้คำสั่ง exec เพื่อเปิด Terminal แบบโต้ตอบได้ (-it)
docker exec -it my-web bash
# เมื่อเข้าไปแล้วสามารถพิมพ์คำสั่ง Linux ได้ปกติ เช่น
ls -la
exit
```
3) การจัดการ Image (Build และ Push)
เมื่อคุณเขียนแอปเสร็จ และ ต้องการสร้าง Image เพื่อนำไปแบ่งปัน หรือ ใช้งานบนเซิร์ฟเวอร์:
```bash
# สร้าง Image จากไฟล์ Dockerfile ในโฟลเดอร์ปัจจุบัน (.) พร้อมตั้งชื่อ (Tag)
docker build -t my-app:v1.0 .
# เปลี่ยนชื่อ Tag ให้ตรงกับบัญชี Docker Hub ของคุณ
docker tag my-app:v1.0 username/my-app:v1.0
# อัปโหลด Image ขึ้นระบบ Cloud
docker push username/my-app:v1.0
```
4) การตรวจสอบปัญหาและการกินทรัพยากร (Troubleshooting)
เมื่อแอปทำงานผิดพลาด หรือเครื่องเริ่มอืด:
```bash
# ดู Log ย้อนหลัง 50 บรรทัดล่าสุด และ เกาะติดหน้าจอแบบ Real-time (-f)
docker logs -f --tail 50 my-web
# ดูการใช้งาน RAM และ CPU ของทุก Container ที่รันอยู่
docker stats
```
5) การล้างเครื่องและคืนพื้นที่ดิสก์ (Housekeeping)
เมื่อทดสอบเสร็จแล้ว และ ต้องการลบไฟล์ขยะที่ค้างอยู่:
```bash
# หยุดและลบ Container ที่ระบุในคำสั่งเดียว
docker rm -f my-web
# ลบทรัพยากรที่ไม่ได้ใช้งานทั้งหมด (Image ที่ไม่มีชื่อ, Container ที่หยุดแล้ว, Network ที่ค้าง)
docker system prune -f
```
✏️ Shoper Gamer
  • ​CLI คืออะไร 👇
Credit :
👇
  • ​https://docs.docker.com/reference/cli/docker/
  • ​https://docs.docker.com/desktop/features/desktop-cli/
  • ​https://shorturl.at/xQL22
  • ​https://shorturl.at/bWaKD
โฆษณา