โครงการ Docker ซึ่งเป็น app container สำหรับเซิร์ฟเวอร์ กำลังมาแรงมากในโลกไอทีองค์กร แนวคิดนี้แตกต่างจากการรัน virtual machine ตรงระดับชั้นของระบบปฏิบัติการ โดยแนวคิด VM แบบเดิมจะพ่วงระบบปฏิบัติการไปด้วย (แต่ละ VM มีระบบปฏิบัติการแยกกัน) ในขณะที่ container แยกเฉพาะแอพ และแชร์ระบบปฏิบัติการร่วมกัน (ดูภาพประกอบ)
ความร้อนแรงของ Docker ท้าทายโลก virtualization โดยเฉพาะเจ้าตลาดอย่าง VMware พอสมควร แต่ล่าสุด VMware เลือกไม่แข่งกับ Docker ตรงๆ และประกาศความร่วมมือกับฝั่ง Docker แล้ว

VMware บอกว่า container เป็นส่วนต่อขยายโดยธรรมชาติของแนวคิด Software-defined Data Center ที่ VMware ผลักดันอยู่ วิสัยทัศน์ของ VMware คือ container ควรทำงานได้อย่างไม่มีข้อจำกัดใดๆ ("Containers without Compromise") และทำงานร่วมกับระดับชั้นของ VM ได้เป็นอย่างดี (ตามภาพ)

ดังนั้น VMware จึงจะเข้าร่วมพัฒนาเทคโนโลยี container อย่างเต็มที่ สิ่งที่ VMware จะร่วมมือกับโลกของ Docker มีดังนี้
- ความร่วมมือกับบริษัท Docker VMware จะช่วยพัฒนา Docker Engine ให้ทำงานกับเทคโนโลยี virtualization ของตัวเอง (ในที่นี้คือ vSphere) ได้ดีขึ้น ซึ่งจะส่งผลในกรณีที่จะรัน container บน VM อีกชั้นให้มีประสิทธิภาพมากขึ้น - Docker
- ความร่วมมือกับโครงการ Kubernetes Kubernetes เป็นโครงการ container manager ของกูเกิล โดย VMware จะช่วยนำเทคโนโลยีด้าน virtualization ทั้งหน่วยประมวล สตอเรจ (Virtual SAN) เครือข่าย (Open vSwitch) และความปลอดภัย มาช่วยพัฒนาโครงการ Kubernetes ให้มีความสามารถสูงขึ้น ปลอดภัยกว่าเดิม ทำงานร่วมกับ vSphere ได้ดีขึ้น - Google
- ความร่วมมือกับบริษัท Pivotal Pivotal เป็นบริษัทในเครือ EMC เช่นเดียวกับ VMware และรับผิดชอบการพัฒนาโครงการกลุ่มเมฆ Cloud Foundry โดย VMware กับ Pivotal จะนำเทคโนโลยีจากโครงการ Warden ซึ่งเป็น container อีกตัวหนึ่งมาช่วยพัฒนา Docker - Pivotal
on
ซึ่งจะส่งผลในกรณ๊ที่จะรัน
panurat2000 Tue, 26/08/2014 - 11:46
ในกรณ๊ที่ => ในกรณีที่
ความคิดดีมาก คือแทนที่จะชนกัน
distrotion Tue, 26/08/2014 - 13:42
ความคิดดีมาก คือแทนที่จะชนกัน สู้เอามาเติมเต็มกันจะดีกว่า สงสัยเคยอ่านความผิดพลาดของ nokia มา
ไม่ทราบว่ามีคนเคยลอง Docker
mr_tawan Tue, 26/08/2014 - 15:50
ไม่ทราบว่ามีคนเคยลอง Docker หรือยัง อยากถามว่ากรณีที่เป็นโปรแกรมที่ต้องคอมไพล์ (สมมติ J2EE Servlet) เนี่ยกรณีที่เราเป็น Dev เราจะทำงานกับมันยังไงดี ? ระหว่างวางโค๊ดในคอนเทนเนอร์แล้วคอมไพล์ในนั้น หรือ remote deploy ตัว binary เข้าไป
ผมใช้อยู่ แต่ผมใช้ OpenResty
narate Tue, 26/08/2014 - 17:00
In reply to ไม่ทราบว่ามีคนเคยลอง Docker by mr_tawan
ผมใช้อยู่ แต่ผมใช้ OpenResty (Nginx + Lua)
กรณีนี้ ถ้า J2EE จะ ssh เข้า container ไปเขียนโค้ด ก็แลจะดูลำบากไปน่ะครับ (ผมเขียน Lua ก็ ssh เข้าไป แล้วใช้ vim)
เอาป็น แบบ remote deploy ตัว binary เข้าไป น่ะจะดีกว่า
ที่เคยใช้จะเป็นลักษณะนี้ครับ
krisachai Tue, 26/08/2014 - 19:17
In reply to ไม่ทราบว่ามีคนเคยลอง Docker by mr_tawan
ที่เคยใช้จะเป็นลักษณะนี้ครับ
Git Push -> Hook -> Jenkins -> Maven Build & Deploy
ใช้ Git Hook ในการ เรียก Build บน Jenkins ซึ่งก็จะไปรัน maven อีกทีหนึ่ง แล้วก็ค่อย deploy ขึ้น App server ต่อไป
ขอบคุณทั้งสองท่านครับ
mr_tawan Wed, 27/08/2014 - 01:21
In reply to ไม่ทราบว่ามีคนเคยลอง Docker by mr_tawan
ขอบคุณทั้งสองท่านครับ