กลับไปหน้าสูตร
#docker#command#devops#cheatsheet
Docker Command Cheatsheet
รวมคำสั่ง Docker แบบจัดเต็ม: images, containers, networks, volumes, compose, build optimization และ troubleshooting
11 มีนาคม 2569อ่านประมาณ 2 นาที
สารบัญสูตร
Docker Basics
| Command | คำอธิบาย |
|---|---|
docker version | ดูเวอร์ชัน client/server |
docker info | ดูข้อมูลระบบ Docker |
docker context ls | ดู contexts |
docker system df | ดู disk usage |
Images
| Command | คำอธิบาย |
|---|---|
docker pull nginx:latest | ดึง image |
docker images | ดู images |
docker build -t app:1.0 . | build image |
docker build --no-cache -t app:1.0 . | build แบบไม่ใช้ cache |
docker image inspect app:1.0 | inspect image |
docker tag app:1.0 repo/app:1.0 | tag image |
docker push repo/app:1.0 | push image |
docker rmi app:1.0 | ลบ image |
Containers
| Command | คำอธิบาย |
|---|---|
docker run -d --name web -p 8080:80 nginx | รัน container |
docker ps | ดู container ที่รันอยู่ |
docker ps -a | ดูทุก container |
docker start web | start |
docker stop web | stop |
docker restart web | restart |
docker rm web | ลบ |
docker exec -it web sh | เข้า shell |
Logs / Inspect / Stats
| Command | คำอธิบาย |
|---|---|
docker logs -f web | follow logs |
docker logs --tail 200 web | ดูท้าย logs |
docker inspect web | inspect metadata |
docker stats | ดู resource usage |
docker top web | process ใน container |
Volumes
| Command | คำอธิบาย |
|---|---|
docker volume ls | ดู volumes |
docker volume create pgdata | สร้าง volume |
docker run -v pgdata:/var/lib/postgresql/data postgres | mount volume |
docker volume inspect pgdata | inspect volume |
docker volume rm pgdata | ลบ volume |
Networks
| Command | คำอธิบาย |
|---|---|
docker network ls | ดู networks |
docker network create app-net | สร้าง network |
docker network inspect app-net | inspect network |
docker network connect app-net web | connect container |
docker network disconnect app-net web | disconnect |
Docker Compose
| Command | คำอธิบาย |
|---|---|
docker compose up -d | start services |
docker compose up --build | build แล้ว start |
docker compose ps | ดู service status |
docker compose logs -f | logs ทุก service |
docker compose logs -f api | logs service เดียว |
docker compose exec api sh | shell ใน service |
docker compose down | หยุดและลบ resources |
docker compose down -v | down พร้อมลบ volumes |
Cleanup
| Command | คำอธิบาย |
|---|---|
docker container prune | ลบ stopped containers |
docker image prune -a | ลบ unused images |
docker volume prune | ลบ unused volumes |
docker network prune | ลบ unused networks |
docker system prune -a --volumes | cleanup ทั้งระบบ |
Build Optimization
| เทคนิค | รายละเอียด |
|---|---|
| multi-stage build | ลด image size |
.dockerignore | ลด build context |
| layer ordering | เปลี่ยนช้าสุดไว้ท้ายๆ |
| cache mount | ใช้ build cache ได้ดีขึ้น |
Troubleshooting
| ปัญหา | วิธีตรวจ |
|---|---|
| container ล่ม | docker logs <name> |
| port ชน | lsof -i :<port> |
| app ต่อ DB ไม่ได้ | ตรวจ network + env vars |
| data หาย | ตรวจ volume mapping |
| image ใหญ่เกิน | docker history <image> |
Practical Patterns
# run api with env file
docker run --env-file .env -p 3000:3000 --name api app:latest
# copy file from container
docker cp api:/app/logs/app.log ./app.log
# show only running containers names
docker ps --format '{{.Names}}'