By Jeje - 18/12/2018
Docker คืออะไร Docker ก็เป็น Software Container ที่ถูกพัฒนาขึ้นมาให้สามารถการจัดการ Container ได้ง่าย Image มีขนาดเล็ก แยกเป็นชั้นๆ สร้างแนวคิด build, ship, run ที่แต่ละรอบของการสร้าง Container เร็วขึ้นมาก ทำให้เป็นที่สนใจและกำลังแพร่หลายในกลุ่ม Developer และ System Admin Docker มีชุดซอฟต์แวร์ให้ใช้งานดังนี้ - Docker Engine เป็น Core หลักในการทำงาน - Docker Machine เป็นซอฟต์แวร์สำหรับสร้าง หรือ เซ็ตอัพเครื่องให้พร้อมสำหรับ container - Docker Swarm เป็นซอฟต์แวร์ที่เอาไว้เชื่อมต่อ Docker Engine หลายๆเครื่องมาเชื่อมต่อรวมกันให้เป็น cluster - Docker Compose เป็นซอฟต์แวร์สำหรับอำนวยความสะดวกในการรัน Container โดยสามารถสั่งรันหลายๆ Container ได้พร้อมๆกัน ตั้งค่าต่าง ๆ รวมไปถึงเชื่อมโยง Container ให้สามารถทำงานร่วมกันได้ แล้ว Software Container คืออะไร Software Container เป็น concept ของการสร้างสภาพแวดล้อมเฉพาะให้ซอฟต์แวร์ทำงานได้โดยไม่กวนกับซอฟต์แวร์ตัวอื่นบนระบบปฏิบัติการเดียวกัน เราสามารถเอา Container ไปรันในคอมพิวเตอร์หรือ Server เครื่องไหนก็ยังทำงานได้เหมือนเดิม โปรแกรมใน Container ยังทำงานได้ปกติไม่ผิดเพี้ยนจากเดิม ที่ผ่านมา Software Container มีการพูดถึงและมีการใช้งานกันมานานแล้ว อาทิ LXC (Linux Container), Solaris Containers, OpenVZ เป็นต้น แต่ไม่เป็นที่แพร่หลายมากนัก เนื่องจากมีการใช้งานค่อนข้างยุ่งยาก ปัจจุบันจึงได้เกิด Engine ที่ชื่อว่า Docker เป็นตัวจัดการ Container ที่ใช้งานได้ง่ายกว่าตัวอื่นๆทำให้ได้รับความนิยมในวงกว้าง และกำลังเข้ามามีบทบาทในกลุ่ม Developer และ DevOps หรือ System Admin มากขึ้นเรื่อยๆ ข้อแตกต่างระหว่าง Virtual Machine กับ Container - Container จะเป็นการเพื่อจำลองและควบคุมสภาพแวดล้อมสำหรับการรันเฉพาะบาง Service เช่น Contianer ที่รัน nginx ใน ubuntu ก็จะบรรจุ Environment เหล่านี้ไว้เป็น 1 Contianer และรัน service เท่าที่จำเป็นต้องใช้เท่านั้น ทำให้ใช้ทรัพยากรน้อยกว่า Virtual Machine - Virtual Machine จะเป็นการจำลอง Environment มาทั้ง OS รันขึ้นมาเป็นเครื่อง Server 1 เครื่อง และมีการรัน service หลายๆ service ใน VM เดียวกัน ทำให้แต่ละ VM ต้องใช้ทรัพยากรจำนวนมาก Picture courtesy of Docker.
Picture courtesy of Docker
Video courtesy of Docker
Jejeเป็นผู้ที่มีความสนใจในเทคโนโลยีไอที และ Opensource เช่น Linux OS, CentOS, Zimbra, Zental
Jeje
เป็นผู้ที่มีความสนใจในเทคโนโลยีไอที และ Opensource เช่น Linux OS, CentOS, Zimbra, Zental