ติดตั้งและตรวจสอบ Docker
ตัวเลือกการติดตั้ง
หัวข้อที่มีชื่อว่า “ตัวเลือกการติดตั้ง”Docker มีสองแพ็กเกจหลัก ขึ้นอยู่กับระบบปฏิบัติการของคุณ:
- Docker Desktop — application GUI ที่รวม Docker Engine, Docker Compose, Kubernetes แบบ node เดียว และ dashboard สำหรับ macOS และ Windows
- Docker Engine — daemon บรรทัดคำสั่งสำหรับ Linux ไม่มี GUI แต่เบากว่าและเหมาะสำหรับ server และ CI
ติดตั้งบน macOS
หัวข้อที่มีชื่อว่า “ติดตั้งบน macOS”ดาวน์โหลด Docker Desktop จาก docs.docker.com/desktop/install/mac-install เลือก chip ของคุณ (Apple Silicon หรือ Intel) จากนั้นลาก Docker.app ไปที่ Applications แล้วเปิดใช้งาน
เมื่อ whale icon ปรากฏในแถบเมนูและแสดงว่า “Docker Desktop is running” daemon ก็พร้อมใช้งานแล้ว
ติดตั้งบน Windows
หัวข้อที่มีชื่อว่า “ติดตั้งบน Windows”ดาวน์โหลด Docker Desktop installer จาก docs.docker.com/desktop/install/windows-install Docker Desktop บน Windows ใช้ WSL 2 (Windows Subsystem for Linux) เป็น backend ซึ่ง installer จะตั้งค่าให้โดยอัตโนมัติหากยังไม่ได้เปิดใช้งาน
รีสตาร์ทเมื่อได้รับแจ้ง จากนั้น Docker Desktop จะเริ่มทำงานในระบบถาดแจ้งเตือน
ติดตั้งบน Linux
หัวข้อที่มีชื่อว่า “ติดตั้งบน Linux”บน Linux คุณจะติดตั้ง Docker Engine โดยตรง วิธีที่แนะนำคือใช้สคริปต์ความสะดวกของ Docker หรือ repository ของแพ็กเกจ manager ของ distro คุณ
# Add Docker's official GPG keysudo apt-get updatesudo apt-get install -y ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to apt sourcesecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update# Install Docker Enginesudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginเพื่อให้รัน Docker โดยไม่ต้องใช้ sudo ให้เพิ่ม user ของคุณในกลุ่ม docker:
sudo usermod -aG docker $USERnewgrp dockerยืนยันการติดตั้ง
หัวข้อที่มีชื่อว่า “ยืนยันการติดตั้ง”รันสองคำสั่งนี้เพื่อยืนยันว่า Docker client และ daemon ทั้งสองทำงานอยู่:
docker versiondocker run hello-worlddocker version แสดงเวอร์ชันของทั้ง client และ server (daemon) หาก server section หายไปแสดงว่า daemon ไม่ได้ทำงานอยู่
docker run hello-world ดึง image ขนาดเล็กจาก Docker Hub รันใน container พิมพ์ข้อความยืนยัน แล้วออก เป็นการยืนยัน end-to-end ตั้งแต่ registry ไปจนถึง runtime
Hello from Docker!This message shows that your installation appears to be working correctly.ลองรันคำสั่งเหล่านี้ใน playground ด้านล่าง:
docker version
docker run hello-worldข้อแลกเปลี่ยน
หัวข้อที่มีชื่อว่า “ข้อแลกเปลี่ยน”| ตัวเลือก | Benefit | Cost |
|---|---|---|
| Docker Desktop | ติดตั้งง่าย มี GUI พร้อม Compose และ Kubernetes แบบ node เดียวในตัว | ใช้ทรัพยากรเครื่องมากกว่า และมี license แบบเสียเงินสำหรับองค์กรขนาดใหญ่ |
| Docker Engine | เบา เหมาะกับ server และ CI ไม่มีค่า license | ไม่มี GUI ต้องจัดการทุกอย่างผ่าน CLI เอง |
ข้อผิดพลาดที่พบบ่อย
หัวข้อที่มีชื่อว่า “ข้อผิดพลาดที่พบบ่อย”- รัน
docker runโดยไม่เช็คก่อนว่า daemon ทำงานอยู่ (ส่วน Server หายไปในdocker version) แล้วเจอ error ที่ดูสับสน - ติดตั้ง Docker Engine บน Linux แล้วลืมเพิ่ม user เข้ากลุ่ม
dockerทำให้ต้องใช้sudoทุกคำสั่งหรือเจอ permission denied ที่/var/run/docker.sock - เข้าใจผิดว่า Docker Desktop จำเป็นสำหรับทุก OS ทั้งที่บน Linux ควรใช้ Docker Engine ตรง ๆ เพราะเบากว่า
💡 ตัวอย่างจากของจริง
ทีม infra จำนวนมากรัน Docker Engine ตรง ๆ บน Linux CI runner โดยไม่ใช้ Docker Desktop เพื่อลด overhead และหลีกเลี่ยงค่า license ขณะที่นักพัฒนาบน macOS หรือ Windows ยังใช้ Docker Desktop เพื่อความสะดวกในการพัฒนาบนเครื่อง