การติดตั้ง Docker
คู่มือติดตั้ง Docker แบบ step-by-step สำหรับทุก platform ครอบคลุม macOS, Windows, และ Linux พร้อมวิธีตรวจสอบการติดตั้งและแก้ปัญหาที่พบบ่อย อ่านครั้งเดียว ติดตั้งได้เลยทันที
เป้าหมายของบทนี้
รัน docker run hello-world แล้วเห็น Hello from Docker! ถ้าเห็นข้อความนี้แสดงว่าการติดตั้งสมบูรณ์
ส่วนที่ 1
ความต้องการของระบบ (System Requirements)
ก่อนติดตั้ง Docker ให้ตรวจสอบว่าระบบของคุณตรงตามข้อกำหนดขั้นต่ำด้านล่าง หากระบบไม่ตรงตามข้อกำหนด Docker อาจรันได้แต่ performance จะไม่ดี หรือมีฟีเจอร์บางอย่างที่ใช้ไม่ได้
| Platform | ข้อกำหนดขั้นต่ำ | แนะนำ |
|---|---|---|
| macOS | macOS 12 Monterey ขึ้นไป, RAM 4 GB | macOS 13+ Apple Silicon หรือ Intel, RAM 8 GB+ |
| Windows | Windows 10 64-bit (Build 19041+), RAM 4 GB, WSL2 | Windows 11, RAM 8 GB+, SSD |
| Linux (Ubuntu) | Ubuntu 20.04 LTS ขึ้นไป, 64-bit, RAM 2 GB | Ubuntu 22.04 LTS+, RAM 4 GB+ |
| Linux (Debian) | Debian 11 Bullseye ขึ้นไป, 64-bit, RAM 2 GB | Debian 12 Bookworm+, RAM 4 GB+ |
ส่วนที่ 2
macOSติดตั้งบน macOS
วิธีที่ง่ายที่สุดสำหรับ macOS คือใช้ Docker Desktop ซึ่งรวม Docker Engine, Docker CLI, Docker Compose, และ GUI สำหรับจัดการ container ไว้ในชุดเดียว รองรับทั้ง Apple Silicon (M1/M2/M3) และ Intel Chip โดยไม่ต้องตั้งค่าเพิ่มเติม
- 1ดาวน์โหลด Docker Desktop จาก docker.com/products/docker-desktop เลือก Mac with Apple Chip หรือ Mac with Intel Chip ตาม CPU
- 2เปิดไฟล์ .dmg ที่ดาวน์โหลดมา แล้วลาก Docker.app ไปวางใน Applications folder
- 3เปิดแอป Docker Desktop จาก Applications หรือ Spotlight (Cmd+Space พิมพ์ Docker)
- 4ยอมรับ Terms of Service และรอให้ Docker Engine เริ่มต้น (icon ใน menubar จะเปลี่ยนเป็น whale ที่ไม่วิ่ง)
- 5หรือใช้ Homebrew: รันคำสั่งด้านล่างหากมี Homebrew ติดตั้งอยู่แล้ว
ถ้ามี Homebrew อยู่แล้วใช้คำสั่งนี้แทนการดาวน์โหลดด้วยมือ
ส่วนที่ 3
Windowsติดตั้งบน Windows — เปิดใช้งาน WSL2 ก่อน
Windows ต้องการ WSL2 (Windows Subsystem for Linux 2) ก่อนติดตั้ง Docker Desktop เพราะ Docker ใช้ Linux kernel เป็นพื้นฐาน WSL2 ทำให้ Windows รัน Linux kernel จริง ๆ ภายใน ทำให้ Docker มีประสิทธิภาพใกล้เคียงกับการรันบน Linux โดยตรง รันคำสั่งด้านล่างใน PowerShell แบบ Run as Administrator
รันทีละบรรทัด จากนั้น restart เครื่อง แล้วค่อยติดตั้ง Docker Desktop
ส่วนที่ 4
Windowsติดตั้งบน Windows — ติดตั้ง Docker Desktop และตั้งค่า WSL2 Backend
หลัง restart เครื่องแล้ว ดาวน์โหลดและติดตั้ง Docker Desktop สำหรับ Windows Docker Desktop จะตรวจพบ WSL2 โดยอัตโนมัติและใช้มันเป็น backend ซึ่งดีกว่า Hyper-V backend แบบเก่า เพราะเร็วกว่าและใช้ RAM น้อยกว่า
- 1ดาวน์โหลด Docker Desktop สำหรับ Windows จาก docker.com/products/docker-desktop
- 2รันไฟล์ Docker Desktop Installer.exe และทำตาม wizard (ใช้ค่า default ได้เลย)
- 3เมื่อติดตั้งเสร็จ เปิด Docker Desktop ขึ้นมา ไปที่ Settings > General
- 4ตรวจสอบว่า Use the WSL 2 based engine ถูก check อยู่
- 5ไปที่ Settings > Resources > WSL Integration แล้วเปิดให้ distro ที่ต้องการใช้
- 6กด Apply & Restart
ส่วนที่ 5
Linuxติดตั้งบน Linux (Ubuntu/Debian) — ผ่าน apt repository
บน Linux แนะนำให้ติดตั้งจาก Docker official repository แทนที่จะใช้ package จาก Ubuntu/Debian repository โดยตรง เพราะ version ที่ Docker ดูแลเองจะใหม่กว่าและได้รับ security update เร็วกว่า คำสั่งทั้งหมดด้านล่างรันเป็น sequence เดียวได้เลย
แต่ละกลุ่มคำสั่งมี comment อธิบายว่าทำอะไร ควรรันตามลำดับจากบนลงล่าง
ส่วนที่ 6
LinuxLinux: ตั้งค่า User Group ให้รัน Docker โดยไม่ต้องใช้ sudo
โดย default บน Linux คุณต้องพิมพ์ sudo ทุกครั้งก่อนคำสั่ง docker เพราะ Docker Daemon ต้องการสิทธิ์ root การเพิ่ม user ของคุณเข้า docker group จะแก้ปัญหานี้ แต่ต้อง logout แล้ว login ใหม่ หรือ restart session ถึงจะมีผล
แทนที่ $USER ด้วย username ของคุณ หรือปล่อยไว้แบบนี้ก็ได้เพราะ $USER จะถูกแทนอัตโนมัติ
ส่วนที่ 7
ตรวจสอบการติดตั้ง
เมื่อติดตั้งเสร็จแล้ว ให้ตรวจสอบด้วยคำสั่งสองอย่าง คำสั่งแรกตรวจว่า Docker CLI พร้อมใช้งาน คำสั่งที่สองทดสอบทั้งระบบตั้งแต่ pull image จาก registry จนถึง run container จริง ถ้าเห็น output ด้านล่างแสดงว่า Docker ทำงานถูกต้องสมบูรณ์
รันทั้งสองคำสั่งนี้ตามลำดับ
ส่วนที่ 8
Output ที่ควรได้รับจาก docker run hello-world
ถ้าเห็น output นี้แสดงว่า Docker ทำงานครบ loop ทั้งหมดแล้ว ตั้งแต่ pull image จาก Docker Hub มาเก็บในเครื่อง สร้าง container จาก image แล้ว run process ข้างใน ถ้าไม่เห็น output นี้ให้ดูหัวข้อ Common Issues ถัดไป
ครั้งแรกจะเห็นขั้นตอน pull image ก่อน ครั้งต่อไปจะข้ามขั้นนี้เพราะ image ถูก cache ไว้แล้ว
ส่วนที่ 9
แก้ปัญหาที่พบบ่อย (Common Issues)
ปัญหาที่เจอบ่อยที่สุดหลังติดตั้ง Docker มีรูปแบบซ้ำ ๆ ไม่กี่อย่าง ส่วนใหญ่แก้ได้ด้วยคำสั่งเดียว ถ้าไม่มีปัญหาใดด้านล่างตรงกับที่คุณเจอ ให้ตรวจสอบ docker logs และ sudo journalctl -u docker.service เพื่อดู error จริง
- 1บน macOS/Windows: Docker Desktop ไม่ start — ตรวจดูว่า Virtualization เปิดอยู่ใน BIOS และ RAM เหลือเพียงพอ (Docker Desktop ต้องการ RAM อย่างน้อย 2 GB)
- 2บน Linux: "permission denied" เมื่อรัน docker — รัน sudo usermod -aG docker $USER แล้ว logout/login ใหม่
- 3บน Linux: "Cannot connect to Docker daemon" — ตรวจว่า daemon รันอยู่ด้วย sudo systemctl start docker
- 4บน Windows: WSL2 kernel ไม่พบ — ดาวน์โหลด WSL2 kernel update package จาก microsoft.com แล้วติดตั้งก่อน
- 5บน Windows: "Hyper-V is not available" — ตรวจสอบว่า Virtualization เปิดอยู่ใน BIOS และ Windows เป็น edition Pro หรือ Enterprise (Home ต้องใช้ WSL2 backend แทน)
- 6ทุก platform: docker pull ช้าหรือ timeout — ลองตั้งค่า Docker Mirror registry ใน Docker Desktop Settings > Docker Engine