Docker คือระบบ Visualization บนฝั่ง Application ให้เราสามารถ build, ship และ run Application ของเราได้อย่างสะดวก และยืดหยุ่น เป็น "ตัวครอบ" แอพพลิเคชันฝั่งเซิร์ฟเวอร์ (application container) ที่กำลังมาแรง หน้าที่ของมันคือช่วยให้เราสามารถนำแอพพลิเคชันไปรันบนเซิร์ฟเวอร์หรือกลุ่มเมฆประเภทต่างๆ โดยลดภาระของการคอนฟิกใหม่ให้น้อยที่สุด (Build once...run anywhere)
แนวคิดของ application container จะคล้ายกับการทำงานบน visualization แต่จะต่างกันตรงที่ container จะไม่รวมระบบปฏิบัติการที่เป็น guest OS ทำให้มันเล็กและเบากว่าการเก็บใส่ VM image มาก (ดูรายละเอียดในสไลด์ท้ายข่าว)
จุดเด่นของ Docker คือรองรับเซิร์ฟเวอร์ประเภทต่างๆ เป็นจำนวนมาก ลินุกซ์ชื่อดังทุกตัว และกลุ่มเมฆหลากหลายทั้ง Open Stack, Open Shift โดยแพลตฟอร์มล่าสุดที่รองรับ Docker คือ Google Compute Engine
ในสมัยก่อนปี ค.ศ 1960 เริ่มมีการนำเข้าส่งออกสินค้า ไปยังหลายๆประเทศ สินค้ามีความหลากหลายมาก และวิธีการขนส่งก็มีให้เลือกมากมายเช่นกัน สินค้าบางชนิด เหมาะกับวิธีการขนส่งแค่บางประเภท เกิดปัญหาในการขนส่ง และการเก็บรักษาสินค้า เช่น ผู้ส่งเมล็ดกาแฟ กังวลว่าถ้าเมล็ดกาแฟไปรวมกับพริกจะเป็นอย่างไร หรือปัญหาระหว่างการส่งต่อสินค้าจากรถไฟ ไปเรือ และนี่เองทำให้เกิดการคิดค้น…ตู้คอนเทนเนอร์
ตู้คอนเทนเนอร์นี้เองที่เข้ามาช่วยเป็นตัวกลางในการขนส่งสินค้า โดยมีการกำหนดมาตรฐานสากล สินค้าทุกประเภทจะถูกเก็บในตู้คอนเทนเนอร์ ผ่านการส่งวิธีใดก็ได้ จนถึงปลายทาง
#Docker ก็เช่นกัน
เมื่อปัจจุบัน ภาษาของโปรแกรม, OS, Database, Server, Infrastructure มีความหลากหลายมาก Docker จึงนำ Application มาใส่ลงตู้ Container ไว้ และเมื่ออยู่บน Docker นี้ ก็สามารถรองรับการใช้งานในรูปแบบที่หลากหลาย ช่วยให้ผู้พัฒนาสามารถทำงานได้เร็วขึ้น ดังคำกล่าวที่ว่า “Build Once, Run Anywhere”
สามารถดูแนวคิดของ Docker ได้ที่ http://www.slideshare.net/dotCloud/docker-intro-november
Credit : http://dockerthai.com/ , https://www.blognone.com/
บทความที่เกี่ยวข้อง :