Docker ใช้ไม่ได้บน Windows 10? วิธีแก้ Docker Desktop เปิดไม่ขึ้น Container รันไม่ได้ และ WSL Error
หากคุณใช้ Docker บน Windows 10 แล้วพบว่า Docker Desktop เปิดไม่ขึ้น, Container รันไม่ได้, ขึ้นข้อความ Docker Engine stopped, WSL integration error, Cannot connect to the Docker daemon หรือดึง Image ไม่สำเร็จ ปัญหาเหล่านี้มักเกิดจาก WSL 2, Hyper-V, Virtualization หรือการตั้งค่าของ Docker Desktop
บทความนี้รวบรวมวิธีแก้ Docker ใช้ไม่ได้บน Windows 10 แบบเข้าใจง่าย เหมาะสำหรับนักพัฒนาและผู้ดูแลระบบที่ใช้งาน Docker ร่วมกับ Node.js, PHP, Python, Laravel และฐานข้อมูลต่าง ๆ
Docker คืออะไร
Docker เป็นแพลตฟอร์มสำหรับรันแอปพลิเคชันภายใน Container ทำให้สามารถพัฒนา ทดสอบ และ Deploy ระบบได้อย่างสะดวก โดยไม่ต้องติดตั้งซอฟต์แวร์ทั้งหมดลงบน Windows โดยตรง
อาการที่พบบ่อย
Docker Desktop เปิดไม่ขึ้น
Docker Engine หยุดทำงาน
Cannot connect to Docker daemon
WSL 2 Error
Container Start ไม่ได้
Docker Pull ไม่สำเร็จ
Image ดาวน์โหลดไม่ได้
Port ชนกัน
Docker ใช้ RAM สูง
Docker Desktop ค้าง
สาเหตุที่พบบ่อย
WSL 2 ไม่ทำงาน
Virtualization ถูกปิดใน BIOS
Hyper-V มีปัญหา
Docker Desktop เสียหาย
พอร์ตชนกับโปรแกรมอื่น
Docker Engine ไม่เริ่มทำงาน
Image หรือ Volume เสียหาย
Firewall หรือ Antivirus บล็อก Docker
พื้นที่ดิสก์ไม่เพียงพอ
วิธีแก้ Docker ใช้ไม่ได้บน Windows 10
① รีสตาร์ตเครื่อง
หลายครั้ง Docker Engine หรือ WSL ค้างอยู่ในหน่วยความจำ การรีสตาร์ตช่วยแก้ปัญหาได้ทันที
② ตรวจสอบ Docker Desktop
เปิด Docker Desktop
รอจนสถานะเป็น
Docker Engine running
หากขึ้น Error ให้กด Restart Docker Desktop
③ ตรวจสอบ WSL
เปิด PowerShell
wsl --status
หาก WSL มีปัญหา Docker Desktop จะไม่สามารถทำงานได้ตามปกติ
④ ตรวจสอบ WSL Distribution
wsl -l -v
ควรมี Distribution อย่างน้อยหนึ่งตัว และใช้ WSL Version 2
⑤ รีสตาร์ต WSL
wsl --shutdown
จากนั้นเปิด Docker Desktop ใหม่
⑥ ตรวจสอบ Virtualization
เปิด Task Manager
แท็บ
Performance > CPU
ตรวจสอบว่า
Virtualization : Enabled
หากเป็น Disabled ต้องเปิดจาก BIOS/UEFI
⑦ ตรวจสอบ Hyper-V
เปิด
Turn Windows features on or off
ตรวจสอบว่าเปิด
Hyper-V (ถ้าจำเป็น)
Virtual Machine Platform
Windows Hypervisor Platform
Windows Subsystem for Linux
จากนั้นรีสตาร์ตเครื่อง
⑧ ตรวจสอบ Docker Version
docker version
หากขึ้น Error แสดงว่า Docker Engine ยังไม่พร้อมใช้งาน
⑨ ตรวจสอบ Docker Info
docker info
คำสั่งนี้ช่วยตรวจสอบสถานะของ Docker Engine และ Resource ที่ใช้งาน
⑩ ทดสอบ Docker
รัน
docker run hello-world
หากทำงานสำเร็จ แสดงว่า Docker พร้อมใช้งาน
⑪ ตรวจสอบ Container
docker ps
ดู Container ที่กำลังทำงาน
หากต้องการดูทั้งหมด
docker ps -a
⑫ ตรวจสอบ Image
docker images
ตรวจสอบว่า Image ถูกดาวน์โหลดครบหรือไม่
⑬ ตรวจสอบ Log ของ Container
docker logs ชื่อคอนเทนเนอร์
Log มักบอกสาเหตุที่แท้จริง เช่น Config ผิด, Port ชน หรือโปรแกรมภายใน Container ทำงานผิดพลาด
⑭ ตรวจสอบ Port ชนกัน
ดูพอร์ตที่เปิดใช้งาน
netstat -ano
หาก Container ใช้พอร์ตเดียวกับโปรแกรมอื่น ควรเปลี่ยน Port Mapping
⑮ รีสตาร์ต Container
docker restart ชื่อคอนเทนเนอร์
หากยังเปิดไม่ได้ ให้ตรวจสอบ Log ก่อนลบหรือสร้างใหม่
⑯ ตรวจสอบ Docker Compose
หากใช้ Docker Compose
docker compose up
ตรวจสอบไฟล์
docker-compose.yml
ว่ามี Syntax ถูกต้อง
⑰ ตรวจสอบพื้นที่ดิสก์
Docker ใช้พื้นที่เก็บ
Images
Containers
Volumes
Build Cache
หากพื้นที่เหลือน้อย Docker อาจทำงานผิดปกติ
⑱ ล้างข้อมูลที่ไม่ใช้งาน
docker system prune
คำสั่งนี้จะลบ Resource ที่ไม่ได้ใช้งาน
ควรตรวจสอบก่อน เพราะอาจลบ Container หรือ Network ที่ไม่ต้องการเก็บไว้
⑲ ตรวจสอบ Firewall
Firewall อาจบล็อกการเชื่อมต่อของ Container
ตรวจสอบเฉพาะเมื่อมีปัญหาการเข้าถึงจากเครื่องอื่น
⑳ ตรวจสอบ Antivirus
Antivirus บางตัวอาจบล็อก
Docker Desktop
Docker Engine
WSL
Virtual Disk
ตรวจสอบประวัติการกักกันก่อนถอนการติดตั้ง Docker
㉑ รีเซ็ต Docker Desktop
หากแก้ไม่ได้ สามารถใช้
Settings > Troubleshoot > Reset to factory defaults
ควรสำรองข้อมูลสำคัญก่อน เพราะการรีเซ็ตอาจลบ Container และการตั้งค่าบางส่วน
㉒ ติดตั้ง Docker Desktop ใหม่
หากไฟล์โปรแกรมเสียหาย
ถอนการติดตั้ง
รีสตาร์ตเครื่อง
ติดตั้ง Docker Desktop เวอร์ชันล่าสุด
ก่อนถอน ควรสำรอง Volume และข้อมูลสำคัญ
วิธีแก้ Error ที่พบบ่อย
Cannot connect to the Docker daemon
ตรวจสอบว่า Docker Engine ทำงาน และ Docker Desktop เปิดอยู่
Docker Engine stopped
รีสตาร์ต Docker Desktop และตรวจสอบ WSL 2
WSL integration error
ตรวจสอบ
wsl --status
และรีสตาร์ต WSL
Port is already allocated
พอร์ตถูกโปรแกรมอื่นใช้งาน
เปลี่ยน Port Mapping หรือหยุดโปรแกรมที่ใช้พอร์ตเดียวกัน
Docker Desktop keeps crashing
ตรวจสอบ
WSL
Hyper-V
Virtualization
Windows Update
Docker Version
วิธีป้องกันปัญหา Docker
ใช้ Docker Desktop เวอร์ชันล่าสุด
เปิดใช้งาน WSL 2
สำรอง Volume เป็นประจำ
ลบ Image ที่ไม่ใช้งาน
ตรวจสอบพื้นที่ดิสก์สม่ำเสมอ
ไม่ใช้พอร์ตซ้ำกับโปรแกรมอื่น
อัปเดต Windows อย่างต่อเนื่อง
คำถามที่พบบ่อย (FAQ)
Docker ใช้ WSL หรือ Hyper-V ดีกว่า
ปัจจุบัน Docker Desktop แนะนำให้ใช้ WSL 2 เพราะใช้ทรัพยากรน้อยกว่าและมีประสิทธิภาพดีในหลายกรณี
Docker Desktop ใช้งานฟรีหรือไม่
ขึ้นอยู่กับประเภทการใช้งานและเงื่อนไขการใช้งานของผู้พัฒนา ควรตรวจสอบสิทธิ์การใช้งานล่าสุดก่อนใช้ในองค์กร
Container กับ Image ต่างกันอย่างไร
Image เป็นต้นแบบ ส่วน Container คือ Instance ที่สร้างจาก Image และกำลังทำงานหรือพร้อมใช้งาน
Docker ลบแล้วข้อมูลหายหรือไม่
หากข้อมูลอยู่ใน Container โดยไม่มี Volume ข้อมูลอาจสูญหายเมื่อ Container ถูกลบ ควรใช้ Volume สำหรับข้อมูลสำคัญ
สรุป
ปัญหา Docker ใช้ไม่ได้บน Windows 10 ส่วนใหญ่มักเกี่ยวข้องกับ WSL 2, Docker Engine, Virtualization และการตั้งค่าของ Docker Desktop ควรเริ่มจากตรวจสอบ WSL, Docker Engine, Container Log และ Port ก่อนดำเนินการติดตั้งใหม่
ทีม comsiam แนะนำให้ใช้ WSL 2 ร่วมกับ Docker Desktop และสำรอง Docker Volume เป็นประจำ เพื่อลดความเสี่ยงด้านข้อมูลและทำให้การพัฒนาแอปพลิเคชันมีความเสถียรมากขึ้น นอกจากนี้ comsiam ยังแนะนำให้ตรวจสอบ Log ของ Container ทุกครั้งก่อนแก้ไขหรือรีเซ็ตระบบ เพราะมักบอกสาเหตุของปัญหาได้ตรงที่สุด