DEV Community

Tossapol Ritcharoenwattu
Tossapol Ritcharoenwattu

Posted on

Docker Lesson 1 : Basic Docker command

1. docker run

docker run -d -p 8080:80 --name my-nginx nginx
Enter fullscreen mode Exit fullscreen mode

ดึง image ชื่อ nginx (ถ้าไม่มีใน local)
สร้าง container
-d → detached mode → ให้ container รันอยู่เบื้องหลัง
-p → publish port 8080:80 → เอา port 80 ใน container (nginx) → map ออกมาให้เข้าจาก port 8080 บนเครื่อง host เข้าเว็บได้ที่ http://localhost:8080
--name my-nginx → ตั้งชื่อ container เป็น my-nginx

เราสามารถ mount volume ให้ container ใช้ไฟล์บน host ได้ด้วยการส่ง argument -v เข้าไป

docker run -d -p 8080:80 \
    -v /Users/tossapol/Documents/k8s_beginner/nginx_html:/usr/share/nginx/html \
    nginx
Enter fullscreen mode Exit fullscreen mode

-v → mount volume
/Users/tossapol/Documents/k8s_beginner/nginx_html → path บนเครื่องเรา (host)
/usr/share/nginx/html → path ใน container
ใช้แก้ไฟล์ HTML บน host แล้ว container จะเห็นการเปลี่ยนแปลงทันที

2. docker ps
ใช้สำหรับ แสดงรายการ container ที่กำลังรันอยู่ ในระบบ จะแสดงข้อมูลเช่น:
Container ID
ชื่อ container
image ที่ใช้งาน
status
ports
command ที่ container กำลังรัน
ถ้าไม่ใส่ option อะไรเลย → จะแสดงเฉพาะ container ที่ กำลังทำงานอยู่ (running)

docker ps
Enter fullscreen mode Exit fullscreen mode


docker ps -a
Enter fullscreen mode Exit fullscreen mode

จะแสดง container สถานะอื่นๆ นอกจาก running ด้วย

docker ps -n 5
Enter fullscreen mode Exit fullscreen mode

กรณีที่เรามี container หลายตัว เราสามารถกำหนดจำนวนแถวที่จะแสดงผลได้

docker ps -f "status=exited"
Enter fullscreen mode Exit fullscreen mode

เราสามารถใส่ filter เพื่อกรองเฉพาะ container ที่ต้องการได้

กรณีที่ต้องการกำหนดเงื่อนไขมากกว่า 1 เงื่อนไข สามารถใส่ argument -f
เพิ่มได้เช่น

docker ps -a  -f "status=exited"  -f "ancestor=nginx"
Enter fullscreen mode Exit fullscreen mode

3. docker start & stop
ใช้ start และ stop container ที่ถูกสร้างไว้แล้ว

docker start 
docker stop
Enter fullscreen mode Exit fullscreen mode

4. docker rm
ใช้ลบ container ที่ไม่ต้องการ แต่การจะลบได้ container นั้นต้องอยู่ในสถานะ stop เท่านั้น

docker rm 7b8e8e8633bf
Enter fullscreen mode Exit fullscreen mode

5. docker images
ใช้สำหรับดูว่าใน host มี image อะไรอยุ่บ้าง

docker images
Enter fullscreen mode Exit fullscreen mode

  1. docmer rmi ใช้สำหรับลบ image ที่ต้องการ โดย image ที่จะสามารถลบได้ จะต้องไม่มี container ใดที่เกี่ยวข้อง run อยู่
docker rmi nginx
Enter fullscreen mode Exit fullscreen mode

  1. docker pull ใช้สำหรับ download image จาก docker hub
docker pull nginx
Enter fullscreen mode Exit fullscreen mode

  1. docker inspect เอาไว้ดูรายละเอียดของ container
docker inspect d923e4fda97f
Enter fullscreen mode Exit fullscreen mode

  1. docker log เอาไว้ดู log ของ container
docker logs d923e4fda97f
Enter fullscreen mode Exit fullscreen mode

Top comments (0)