Automation & VPS

Docker คืออะไร? อธิบายแบบเห็นภาพ พร้อมวิธีใช้จริงบน VPS

อัปเดต 2026-08-22อ่าน ~8 นาที

ถ้าคุณเคยอ่านคู่มือติดตั้งโปรแกรมบนเซิร์ฟเวอร์ คุณจะเจอคำว่า Docker แทบทุกครั้ง จนหลายคนสงสัยว่าตกลงมันคืออะไรกันแน่ เป็นระบบปฏิบัติการ เป็นโปรแกรม หรือเป็นบริการคลาวด์

บทความนี้อธิบาย Docker แบบไม่ใช้ศัพท์เทคนิคเกินจำเป็น เริ่มจากว่ามันคืออะไร แก้ปัญหาอะไร ศัพท์หลักที่ต้องรู้มีอะไรบ้าง ต่างจาก Virtual Machine ยังไง และทำไมคนที่เช่า VPS ถึงลง Docker กันเกือบทุกเครื่อง

Docker คืออะไร

Docker คือเครื่องมือที่ช่วยห่อโปรแกรมหนึ่งตัวเข้ากับทุกอย่างที่โปรแกรมนั้นต้องใช้ ไม่ว่าจะเป็นไลบรารี ไฟล์ตั้งค่า หรือเวอร์ชันของเครื่องมือที่มันพึ่งพา แล้วรวมเป็นชุดเดียวที่พร้อมรัน ชุดนั้นเอาไปวางบนเครื่องไหนที่มี Docker อยู่ ก็ทำงานเหมือนกันทุกเครื่อง

เปรียบเทียบให้เห็นภาพ ลองนึกถึงตู้คอนเทนเนอร์ที่ใช้ขนของ ตัวสินค้าข้างในจะเป็นอะไรก็ได้ แต่ตู้มีขนาดมาตรฐานเหมือนกันหมด เรือ รถบรรทุก หรือรถไฟจึงยกไปได้โดยไม่ต้องสนใจว่าข้างในคืออะไร Docker ทำแบบเดียวกันกับซอฟต์แวร์ — เครื่องที่รับไม่ต้องรู้ว่าข้างในเขียนด้วยภาษาอะไรหรือต้องใช้ไลบรารีเวอร์ชันไหน แค่รู้ว่ามันเป็นคอนเทนเนอร์ก็รันได้

ในทางเทคนิค Docker ใช้ความสามารถของ Linux kernel ในการแยกกระบวนการและทรัพยากรออกจากกัน ทำให้แต่ละคอนเทนเนอร์เห็นเหมือนว่ามีระบบไฟล์และเครือข่ายเป็นของตัวเอง ทั้งที่จริงยังใช้ kernel เดียวกันกับเครื่องแม่ ตรงนี้แหละที่ทำให้มันเบากว่าการสร้างเครื่องเสมือนเต็มรูปแบบมาก

💡 สรุปสั้น: Docker = กล่องมาตรฐานที่ห่อแอปพร้อมสิ่งที่มันต้องใช้ไว้ด้วยกัน ทำให้ย้ายไปรันเครื่องไหนก็ได้ผลเหมือนเดิม ไม่ใช่ระบบปฏิบัติการ และไม่ใช่บริการคลาวด์

ปัญหาที่ Docker เกิดมาแก้: "บนเครื่องผมรันได้นี่"

ก่อนจะมี Docker การย้ายโปรแกรมจากเครื่องนักพัฒนาไปเซิร์ฟเวอร์จริงเป็นเรื่องน่าปวดหัวมาก เพราะเครื่องสองเครื่องแทบไม่เคยเหมือนกันเป๊ะ ๆ เวอร์ชันของภาษาอาจต่างกันนิดเดียว ไลบรารีที่จำเป็นอาจขาดไปตัวหนึ่ง หรือไฟล์ตั้งค่าอยู่คนละที่ ผลคือโปรแกรมที่รันดีบนโน้ตบุ๊กกลับพังทันทีบนเซิร์ฟเวอร์

สถานการณ์นี้จบลงที่ประโยคคลาสสิกว่า "แต่บนเครื่องผมมันรันได้นี่" ซึ่งไม่ได้ช่วยให้ระบบขึ้นได้จริง Docker แก้ตรงจุดนี้ด้วยการย้ายทั้งสภาพแวดล้อมไปพร้อมกับโปรแกรม แทนที่จะย้ายแค่ตัวโปรแกรมแล้วหวังว่าปลายทางจะมีของครบ

ผลพลอยได้อีกอย่างคือการติดตั้งกลายเป็นเรื่องซ้ำได้ ถ้าคุณต้องตั้งเซิร์ฟเวอร์ใหม่แบบเดิมอีกสิบเครื่อง คุณไม่ต้องไล่ทำตามคู่มือทีละขั้นสิบรอบ แค่ใช้ image เดิมกับไฟล์ตั้งค่าเดิม ผลลัพธ์ก็ออกมาเหมือนกันทุกเครื่อง

ศัพท์หลักที่ต้องรู้

เอกสารเกี่ยวกับ Docker เต็มไปด้วยศัพท์เฉพาะ แต่จริง ๆ มีอยู่ไม่กี่คำที่ต้องเข้าใจก่อนถึงจะอ่านคู่มืออื่น ๆ รู้เรื่อง ตารางนี้สรุปเฉพาะคำที่เจอบ่อยที่สุด

ศัพท์คืออะไรเทียบให้เห็นภาพ
Imageแม่แบบสำเร็จรูปที่บรรจุแอปและสิ่งที่มันต้องใช้ไว้แล้ว เป็นไฟล์อ่านอย่างเดียวเหมือนไฟล์ติดตั้งหรือแม่พิมพ์ ยังไม่ได้ทำงานจนกว่าจะเอาไปรัน
Containerตัว image ที่ถูกสั่งให้ทำงานจริง หนึ่ง image สร้างได้หลาย containerเหมือนโปรแกรมที่เปิดขึ้นมาแล้วกำลังรันอยู่
Volumeพื้นที่เก็บข้อมูลถาวรที่แยกออกจากตัว containerเหมือนฮาร์ดดิสก์ภายนอก ลบ container แล้วข้อมูลยังอยู่
Docker Composeเครื่องมือกำหนดหลาย container และการเชื่อมต่อกันไว้ในไฟล์ตั้งค่าไฟล์เดียวเหมือนใบสั่งงานที่บอกว่าต้องเปิดบริการอะไรบ้างและต่อกันยังไง
Registryที่เก็บ image ให้ดาวน์โหลดไปใช้ เช่น Docker Hub หรือ registry ส่วนตัวเหมือนคลังแอปที่ไว้ดึง image มาใช้
Dockerfileไฟล์สูตรที่บอกขั้นตอนสร้าง image ขึ้นมาเองเหมือนสูตรอาหารที่ใช้ทำ image ตามที่ต้องการ
💡 จุดที่มือใหม่สับสนบ่อยที่สุดคือ Image กับ Container — image คือของนิ่งที่ยังไม่ทำงาน ส่วน container คือ image ที่กำลังรันอยู่ ลบ container ทิ้งแล้วสร้างใหม่จาก image เดิมได้เสมอ

Docker ต่างจาก Virtual Machine ยังไง

ทั้งสองอย่างทำให้รันหลายอย่างแยกจากกันบนเครื่องเดียวได้ก็จริง แต่วิธีทำงานต่างกันที่ระดับความลึก Virtual Machine จำลองเครื่องคอมพิวเตอร์ทั้งเครื่องขึ้นมา แต่ละ VM จึงมีระบบปฏิบัติการของตัวเองเต็ม ๆ ส่วนคอนเทนเนอร์ใช้ kernel ร่วมกับเครื่องแม่ แล้วแยกแค่ระดับกระบวนการและระบบไฟล์

ผลที่ตามมาคือคอนเทนเนอร์เริ่มทำงานเร็วกว่าและกินทรัพยากรน้อยกว่ามาก เพราะไม่ต้องบูตระบบปฏิบัติการใหม่ทุกครั้ง แต่ในทางกลับกัน VM ให้การแยกที่เข้มงวดกว่า และรันระบบปฏิบัติการต่างชนิดจากเครื่องแม่ได้ ซึ่งคอนเทนเนอร์ทำไม่ได้โดยตรง

หัวข้อDocker (Container)Virtual Machine
ระบบปฏิบัติการใช้ kernel ร่วมกับเครื่องแม่มี OS เต็มของตัวเองในแต่ละ VM
ขนาดตั้งแต่ไม่กี่สิบ MB ถึงหลักร้อย MBมักหลาย GB ต่อเครื่อง
เวลาเริ่มทำงานระดับวินาทีระดับสิบวินาทีถึงนาที
การใช้ทรัพยากรเบา รันหลายตัวพร้อมกันบนเครื่องเดียวได้ง่ายหนักกว่า เพราะต้องกันแรมให้ OS แต่ละตัว
ระดับการแยกแยกระดับกระบวนการแยกระดับเครื่อง เข้มงวดกว่า
รัน OS ต่างชนิดไม่ได้โดยตรงได้ เช่นรัน Windows บนโฮสต์ Linux
💡 ไม่ใช่เรื่องว่าอันไหนดีกว่า — VPS ที่คุณเช่าคือ VM อยู่แล้ว แล้วคุณค่อยรันคอนเทนเนอร์หลายตัวข้างใน VM นั้นอีกที ทั้งสองอย่างทำงานร่วมกัน ไม่ได้แทนที่กัน

ทำไมคนเช่า VPS ถึงนิยมลง Docker

เมื่อคุณเช่า VPS มาหนึ่งเครื่อง คุณมักไม่ได้อยากรันแค่อย่างเดียว อาจอยากมีทั้งเว็บแอป ฐานข้อมูล และเครื่องมือภายในทีมอยู่ด้วยกัน ปัญหาคือถ้าลงทุกอย่างตรง ๆ ลงบนเครื่อง แต่ละตัวมักต้องการเวอร์ชันของไลบรารีไม่ตรงกัน จนตีกันเองในที่สุด

  • ลงหลายบริการบนเครื่องเดียวโดยไม่ตีกัน — แต่ละคอนเทนเนอร์มีสภาพแวดล้อมของตัวเอง จะใช้คนละเวอร์ชันก็ไม่ชนกัน
  • ย้ายเครื่องง่าย — ถ้าจะย้ายไป VPS ตัวใหม่ ก็ยกไฟล์ตั้งค่ากับข้อมูลใน volume ไปตั้งใหม่ ได้ผลเหมือนเดิม
  • ติดตั้งและถอนสะอาด — ลบคอนเทนเนอร์กับ image ทิ้งแล้วเครื่องกลับมาเหมือนเดิม ไม่มีไฟล์กระจัดกระจายค้างทั่วระบบ
  • อัปเดตและย้อนกลับง่ายกว่า — เปลี่ยนไปใช้ image เวอร์ชันใหม่ ถ้ามีปัญหาก็สลับกลับเวอร์ชันเดิมได้
  • ทำตามคู่มือได้ตรงกว่า — คู่มือติดตั้งสมัยใหม่ส่วนใหญ่เขียนในรูปแบบ Docker อยู่แล้ว ลดโอกาสพลาดจากความต่างของเครื่อง
  • ทดลองได้ไม่กลัวพัง — อยากลองซอฟต์แวร์ตัวใหม่ก็เปิดคอนเทนเนอร์ทดสอบ ไม่พอใจก็ลบทิ้ง เครื่องหลักไม่รก
💡 คำสั่งที่ใช้บ่อยจริง ๆ มีไม่กี่คำ เช่น docker ps ดูว่าอะไรรันอยู่, docker logs ดูบันทึกของบริการ, docker compose up สั่งเปิดชุดบริการตามไฟล์ตั้งค่า และ docker compose down สั่งหยุด — เท่านี้ก็ดูแลงานประจำวันได้แล้ว

ตัวอย่างสิ่งที่คนนิยมรันด้วย Docker บน VPS

ของที่เอามารันจริง ๆ บนเครื่องเช่ามักเป็นบริการที่ต้องเปิดตลอดเวลา และอยากให้ติดตั้งครั้งเดียวจบ ตัวอย่างที่พบบ่อยมีดังนี้ ซึ่งหลายอย่างรันอยู่บนเครื่องเดียวกันได้ถ้าแรมพอ ตัวที่คนไทยถามถึงบ่อยที่สุดตอนนี้คือระบบ automation อย่าง n8n

  • ระบบ automation ที่เชื่อมบริการต่าง ๆ เข้าด้วยกัน เช่น n8n ซึ่งมีคู่มือติดตั้งแบบ Docker ให้ทำตามอยู่แล้ว
  • ฐานข้อมูล เช่น PostgreSQL หรือ MySQL ที่ใช้เก็บข้อมูลให้บริการอื่นบนเครื่องเดียวกัน
  • เว็บแอปหรือ API ของตัวเอง ที่แพ็กเป็น image แล้วสั่งรันบนเซิร์ฟเวอร์ได้ทันที
  • เครื่องมือภายในทีม เช่น ระบบจดบันทึก ระบบจัดการงาน หรือแดชบอร์ดที่ไม่อยากให้อยู่บนบริการภายนอก
  • ตัวจัดการ reverse proxy ที่ทำหน้าที่รับทราฟฟิกและกระจายไปยังบริการต่าง ๆ พร้อมจัดการใบรับรอง HTTPS ให้
  • ระบบเก็บสถิติและการแจ้งเตือน ที่คอยดูว่าบริการต่าง ๆ ยังทำงานปกติหรือไม่
💡 ทุกตัวอย่างข้างต้นเป็นบริการที่ต้องออนไลน์ต่อเนื่อง จึงเหมาะกับเซิร์ฟเวอร์เช่ามากกว่าคอมที่บ้าน ซึ่งปิดเครื่องเมื่อไหร่บริการก็หยุดตาม

สเปก VPS ที่ควรใช้สำหรับรัน Docker

ตัว Docker เองแทบไม่กินทรัพยากร สิ่งที่กินคือบริการที่คุณรันข้างในต่างหาก ดังนั้นการเลือกสเปกให้ดูที่ว่าจะรันอะไรบ้างและแต่ละตัวกินแรมเท่าไหร่ ตารางด้านล่างคือแพ็กเกจ VPS ของ Plusweb ทุกตัวมี 1 Public IPv4 ในตัว และตัวเลขในวงเล็บคือราคาต่อเดือนเมื่อชำระรายปี

แพ็กเกจCPURAMSSDราคา/เดือน (รายปี)
VPS-001 vCore1 GB15 GB150฿ (120฿)
VPS-011 vCore3 GB30 GB250฿ (200฿)
VPS-022 vCores4 GB60 GB350฿ (280฿)
VPS-034 vCores8 GB100 GB600฿ (480฿)
VPS-045 vCores10 GB140 GB1,000฿ (800฿)
💡 แรมคือคอขวดหลัก ไม่ใช่ CPU — ถ้าจะรันหลายบริการพร้อมกัน เช่น เว็บแอปคู่กับฐานข้อมูล ควรเริ่มที่ 4 GB ขึ้นไป เพราะเมื่อแรมหมด ระบบจะปิดคอนเทนเนอร์ที่กินแรมมากที่สุดทิ้งเอง

ข้อควรระวังก่อนเริ่มใช้จริง

Docker ทำให้หลายอย่างง่ายขึ้นก็จริง แต่มันไม่ได้แก้ทุกปัญหา และมีจุดที่คนพลาดกันซ้ำ ๆ สามเรื่องหลัก คือพื้นที่ดิสก์ ข้อมูลใน volume และความปลอดภัยของสิ่งที่เปิดออกสู่อินเทอร์เน็ต

  • เผื่อพื้นที่ให้ image — image ที่ดาวน์โหลดมาสะสมกินดิสก์ไปเรื่อย ๆ โดยเฉพาะเวลาอัปเดตบ่อย ควรเคลียร์ image เก่าที่ไม่ใช้เป็นระยะ
  • backup volume เสมอ — ข้อมูลจริงอยู่ใน volume ไม่ได้อยู่ใน image การลบคอนเทนเนอร์ผิดตัวหรือลบ volume ทิ้งคือการสูญข้อมูลถาวร
  • ระวังพอร์ตที่เปิดออกสาธารณะ — คอนเทนเนอร์ที่ผูกพอร์ตกับ IP สาธารณะจะเข้าถึงได้จากทั้งอินเทอร์เน็ต ควรเปิดเท่าที่จำเป็นและตั้งรหัสผ่านให้แข็งแรง
  • ระวังไฟล์ตั้งค่าที่มีรหัสผ่าน — ไฟล์ตั้งค่ามักเก็บคีย์และรหัสผ่านไว้ ไม่ควรอัปโหลดขึ้นที่เก็บโค้ดสาธารณะโดยเด็ดขาด
  • เลือก image จากแหล่งที่น่าเชื่อถือ — image สาธารณะใครก็อัปโหลดได้ ควรใช้ของผู้พัฒนาอย่างเป็นทางการหรือแหล่งที่ตรวจสอบได้
  • อย่าตั้งค่าให้คอนเทนเนอร์ทำงานด้วยสิทธิ์เกินจำเป็น — ให้สิทธิ์เท่าที่บริการนั้นต้องใช้จริงเท่านั้น

สรุป

Docker คือวิธีห่อโปรแกรมพร้อมสภาพแวดล้อมของมันไว้เป็นชุดเดียว เพื่อให้รันที่ไหนก็ได้ผลเหมือนกัน มันไม่ใช่ระบบปฏิบัติการ ไม่ใช่บริการคลาวด์ และไม่ได้แทนที่ VPS แต่เป็นชั้นที่วางอยู่บน VPS อีกที เพื่อให้จัดการหลายบริการบนเครื่องเดียวได้เป็นระเบียบ

ถ้าอยากลองของจริงสักตัว ทางที่ตรงที่สุดคือเช่าเซิร์ฟเวอร์เล็ก ๆ แล้วติดตั้งบริการที่มีคู่มือแบบ Docker อยู่แล้ว เช่นตามขั้นตอนใน วิธีติดตั้ง n8n บน VPS ด้วย Docker หรือถ้ายังไม่แน่ใจว่าควรเช่าเครื่องเองหรือใช้บริการคลาวด์ ลองอ่าน n8n Cloud กับ self-host เทียบกัน ก่อนตัดสินใจ

และถ้ายังไม่เคยเช่าเซิร์ฟเวอร์มาก่อน แนะนำอ่าน VPS คืออะไร กับ VPS ต่างจาก Web Hosting ยังไง ประกอบ เพราะโฮสติ้งแบบแชร์ทั่วไปมักไม่อนุญาตให้ติดตั้ง Docker เอง จึงต้องใช้ VPS ที่มีสิทธิ์ root เต็มเท่านั้น

💡 จำสามข้อนี้ก็พอ: image คือแม่แบบ container คือตัวที่กำลังรัน และ volume คือที่เก็บข้อมูลจริงที่ต้อง backup — เข้าใจสามคำนี้แล้วคู่มือติดตั้งส่วนใหญ่จะอ่านรู้เรื่องทันที

อยากลอง Docker บนเซิร์ฟเวอร์จริง?

VPS ของ Plusweb มีสิทธิ์ root เต็มและ Public IPv4 ในตัว เริ่มต้น 120฿/เดือน (รายปี) ติดตั้ง Docker ได้ทันที

คำถามที่พบบ่อย

Docker คืออะไรแบบสั้นที่สุด?

Docker คือเครื่องมือที่ห่อโปรแกรมเข้ากับทุกอย่างที่โปรแกรมนั้นต้องใช้ ทั้งไลบรารีและไฟล์ตั้งค่า รวมเป็นชุดเดียวที่เรียกว่าคอนเทนเนอร์ ทำให้ย้ายไปรันบนเครื่องไหนที่มี Docker ก็ได้ผลเหมือนกัน ไม่ต้องมานั่งไล่ติดตั้งของที่จำเป็นทีละอย่างบนเครื่องปลายทาง

Image กับ Container ต่างกันยังไง?

Image คือแม่แบบที่อ่านอย่างเดียว บรรจุแอปและสิ่งที่มันต้องใช้ไว้แล้วแต่ยังไม่ทำงาน ส่วน Container คือ image ที่ถูกสั่งให้รันจริง หนึ่ง image สร้าง container ได้หลายตัว และลบ container ทิ้งแล้วสร้างใหม่จาก image เดิมได้เสมอ

Docker ต่างจาก Virtual Machine ตรงไหน?

VM จำลองเครื่องทั้งเครื่องและมีระบบปฏิบัติการของตัวเองเต็ม ๆ จึงหนักและบูตช้ากว่า ส่วนคอนเทนเนอร์ใช้ kernel ร่วมกับเครื่องแม่แล้วแยกแค่ระดับกระบวนการและระบบไฟล์ จึงเบากว่าและเริ่มทำงานในไม่กี่วินาที แต่ VM แยกได้เข้มงวดกว่าและรัน OS ต่างชนิดจากเครื่องแม่ได้

Docker Compose คืออะไร ต้องใช้ไหม?

Docker Compose คือเครื่องมือที่ให้คุณกำหนดหลายคอนเทนเนอร์และวิธีเชื่อมต่อกันไว้ในไฟล์ตั้งค่าไฟล์เดียว แล้วสั่งเปิดหรือปิดทั้งชุดพร้อมกันได้ ถ้ารันบริการเดียวก็ไม่จำเป็น แต่พอมีตั้งแต่สองบริการขึ้นไป เช่นเว็บแอปคู่กับฐานข้อมูล การใช้ Compose จะจัดการง่ายกว่ามาก

ลง Docker บน VPS แพ็กเกจไหนดี?

ตัว Docker เองแทบไม่กินทรัพยากร ให้ดูที่บริการที่จะรันข้างในเป็นหลัก ถ้าทดลองหรือรันบริการเบา ๆ ตัวเดียว VPS-00 (1 vCore / 1 GB / 15 GB) ที่ 150฿ ต่อเดือนก็เริ่มได้ ถ้าใช้จริงแนะนำ VPS-01 (1 vCore / 3 GB / 30 GB) และถ้ารันหลายบริการพร้อมกันควรเป็น VPS-02 (2 vCores / 4 GB / 60 GB) ขึ้นไป

ลบคอนเทนเนอร์แล้วข้อมูลหายไหม?

ขึ้นกับว่าเก็บข้อมูลไว้ตรงไหน ถ้าข้อมูลอยู่ใน volume ที่แยกไว้ต่างหาก การลบคอนเทนเนอร์จะไม่กระทบข้อมูล แต่ถ้าเขียนข้อมูลลงในตัวคอนเทนเนอร์โดยตรง ลบแล้วหายถาวร จึงควรกำหนด volume ให้บริการที่มีข้อมูลสำคัญเสมอ และตั้ง backup ของ volume ไว้ด้วย

GUIDES

บทความที่เกี่ยวข้อง

อ่านต่อในหัวข้อใกล้เคียง

ดูบทความทั้งหมด
n8n คืออะไร? เครื่องมือ Workflow Automation ที่ต่อทุกแอปเข้าด้วยกัน
Automation & VPS

n8n คืออะไร? เครื่องมือ Workflow Automation ที่ต่อทุกแอปเข้าด้วยกัน

n8n คืออะไร ทำอะไรได้บ้าง ต่างจากเครื่องมือ automation ตัวอื่นยังไง และทำไมคนถึงเลือก self-host — อธิบายศัพท์ Node / Trigger / Workflow / Execution / Credential แบบเข้าใจง่ายตั้งแต่ศูนย์

อ่านต่อ
วิธีติดตั้ง n8n บน VPS ด้วย Docker แบบ Self-hosted
Automation & VPS

วิธีติดตั้ง n8n บน VPS ด้วย Docker แบบ Self-hosted

ลง n8n เองบน VPS ด้วย Docker ต้องเตรียมอะไร ใช้สเปกเท่าไหร่ ขั้นตอนมีกี่ขั้น และค่าตั้งค่าไหนที่ถ้าลืมแล้ว schedule ยิงผิดเวลาหรือ webhook ใช้ไม่ได้ — สรุปครบในที่เดียว

อ่านต่อ
VPS คืออะไร? ใช้ทำอะไรได้บ้าง ฉบับเข้าใจง่าย
Cloud VPS

VPS คืออะไร? ใช้ทำอะไรได้บ้าง ฉบับเข้าใจง่าย

สรุปครบเรื่อง VPS — VPS server คืออะไร ทำงานยังไง Cloud VPS ต่างจาก VPS ทั่วไปตรงไหน ใช้ทำอะไรได้บ้าง เทียบกับ Shared Hosting และ Dedicated ใครควรใช้ และเริ่มต้นยังไงในปี 2026

อ่านต่อ