อะไรคือข้อแตกต่างระหว่าง Docker, LXD และ LXC [ปิด]


163

ความแตกต่างระหว่าง Docker, LXD และ LXC คืออะไร พวกเขาเสนอบริการเดียวกันหรือแตกต่างกัน


1
พบว่าอันนี้มีประโยชน์ ข้อมูลล่าสุดและยิ่งใหญ่ที่สุด people.canonical.com/~kirkland/ …
Ijaz Ahmad Khan

คำอธิบายที่ดีมากที่infoworld.com/article/3204171/linux/... มันบอกว่าAlthough Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environmentเพิ่มเติมเกี่ยวกับลิงค์
Alireza Fattahi

คำตอบ:


132

ไม่ LXC นักเทียบท่าและ LXD นั้นไม่เหมือนกัน ในระยะสั้น:

LXC

LinuX Containers (LXC) เป็นวิธีการจำลองเสมือนระดับระบบปฏิบัติการสำหรับการใช้งานหลายระบบ Linux (ภาชนะบรรจุ) บนโฮสต์ตัวควบคุมเดี่ยว (โฮสต์ LXC)

https://wiki.archlinux.org/index.php/Linux_Containers

ระดับต่ำ ...

https://linuxcontainers.org/

นักเทียบท่า

  • โดย Docker, Inc
  • ระบบคอนเทนเนอร์ที่ใช้ประโยชน์จากคอนเทนเนอร์ LXC
  • เพื่อให้คุณสามารถ: Build, Ship, and Run Any App, Anywhere http://www.docker.com

LXD

เทียบเทียบกับ LXD

  • นักเทียบท่าเชี่ยวชาญในการปรับใช้แอพ
  • LXD เชี่ยวชาญในการปรับใช้ (Linux) เครื่องเสมือน

อินโฟกราฟิกของนักเทียบท่าเทียบกับ LXD

ที่มา: http://linux.softpedia.com/blog/infographic-lxd-machine-containers-from-ubuntu-linux-492602.shtml

แต่เดิม: https://insights.ubuntu.com/2015/09/23/infographic-lxd-machine-containers-from-ubuntu/

บันทึกทางเทคนิคเล็กน้อย



12
นักเทียบท่าไม่ได้ใช้ LXC ภายใต้ประทุนตั้งแต่ปี 2014: blog.docker.com/2014/03/…
infomaniac

68

ภาพนี้สามารถช่วยให้คุณเข้าใจความแตกต่างหลักระหว่างพวกเขา:

lxc x docker

สิ่งที่พวกเขามีเหมือนกันคือเทคโนโลยีทั้งสามนี้เกี่ยวข้องกับตู้คอนเทนเนอร์

ตู้คอนเทนเนอร์เป็นกลไกการจำลองเสมือนที่มีน้ำหนักเบาซึ่งไม่ต้องการให้คุณตั้งค่าเครื่องเสมือนในการจำลองฮาร์ดแวร์ทางกายภาพ ใน Linux สิ่งที่พวกเขามีเหมือนกันคือ Kernel cgroupsคุณสมบัติการใช้namespaces(ipc, network, user, pid, mount), selinuxพวกเขายังพยายามที่จะสร้างสภาพแวดล้อมที่ปลอดภัยมากขึ้นโดยการสร้างภาชนะที่ด้อยโอกาสและการบูรณาการที่มีคุณสมบัติด้านความปลอดภัยเช่น เทคโนโลยีเหล่านี้ส่งออก API เพื่อรวมกับซอฟต์แวร์อื่น ๆ ได้ดียิ่งขึ้น

LXD และ LXC

ทั้งสองนี้รวมครอบครัวเดียวกันกับที่:

  • lxc : userspace interface สำหรับคุณลักษณะการบรรจุเคอร์เนลของ Linux นี่คือคนที่จัดการเนมสเปซของเคอร์เนล, Apparmor และ SELinux, Chroots, ความสามารถของเคอร์เนลและสิ่งอื่น ๆ ที่เกี่ยวข้องกับเคอร์เนล
  • lxd : เป็นคอนเทนเนอร์ "hypervisor" มันประกอบด้วย daemon (lxd), อินเตอร์เฟสบรรทัดคำสั่ง (lxc) และปลั๊กอิน OpenStack ผู้ชายคนนี้ได้รับการพัฒนาเพื่อมอบความยืดหยุ่นและคุณสมบัติให้กับ lxc มากขึ้นในขณะที่ยังคงใช้งานได้ภายใต้ประทุน

โดยทั่วไปพื้นที่ผู้ใช้ Self-Contained OS จะถูกสร้างขึ้นด้วยโครงสร้างพื้นฐานที่แยกได้ของมัน lxc รองรับคุณสมบัติของระบบปฏิบัติการโดยตรงสำหรับการเชื่อมต่อเครือข่ายและการจัดเก็บข้อมูลมากกว่า Docker

คุณสร้างเครื่องเสมือนจำนวนมากที่มี userspace และการแยกเคอร์เนล แต่พวกเขายังไม่สมบูรณ์เครื่องเสมือนเพราะพวกเขาไม่ได้ใช้งานเคอร์เนลที่แยกออกจากกันและไม่ถูก paravirtualized ด้วยเหตุผลเดียวกัน

Canonical เป็นสปอนเซอร์หลักที่นี่และ Oracle ก็ลงทุนชั่วโมงแรงงานกับเทคโนโลยีนี้

นักเทียบท่า

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

ระบบไฟล์เป็นสิ่งที่เป็นนามธรรมของ Docker ในขณะที่ lxc ใช้คุณสมบัติของระบบไฟล์โดยตรง เครือข่ายยังเป็นนามธรรมด้วย lxc คุณสามารถตั้งค่าที่อยู่ IP และการกำหนดเส้นทางได้ง่ายขึ้น ไซต์ "App Store like" บางแห่งถูกดูแลโดย Microsoft, Amazon, Vmware, IBM และผู้เล่นอื่น ๆ

นักเทียบท่า INC. เป็นผู้สนับสนุนหลักที่นี่ Vmware ยังลงทุนในเทคโนโลยีนี้

เทคโนโลยีคอนเทนเนอร์ที่เกี่ยวข้อง:

นี่เป็นเทคโนโลยีตู้คอนเทนเนอร์อื่น ๆ ที่ Linux มี: OpenVZและLinux-VServer

สิ่งที่เกี่ยวข้อง:



ใช่. ค่อนข้างใหม่เนื่องจากเกี่ยวข้องกับ zfs ทั้งหมดบน Ubuntu wada-wada และนั่นคือการนำเสนอ Allways แจ้งเตือนไปยัง PDF หรือ PPTs ที่มีโลกเช่น "ดีกว่า" หรือ "เทคโนโลยีที่เร็วที่สุด" หรือ "ปรับขนาดได้มากกว่า Y" ...

5
ฉันเติบโตเป็นคนค่อนข้างสงสัยผลิตภัณฑ์ที่ออกมาจาก Canonical พวกเขามักจะโฆษณาพวกเขาเป็นสิ่งที่พวกเขาอาจจะแทนที่จะเป็นสิ่งที่พวกเขา บ่อยครั้งที่ "อาจจะ" ยังคงอยู่หลายปี
orodbhen

แทนที่จะใช้ตัวพิมพ์เล็ก lxc นี่ควรเป็นการอ้างอิงถึง liblxc และเท่าที่มีความเกี่ยวข้องกับการใช้เครื่องมือมันสามารถอ้างถึง 1.x ถึง 3.x โดยที่ lxd (just daemon) พร้อมใช้งานสำหรับ liblxc> = 2.0 เท่านั้นและlxcเป็นโปรแกรมไคลเอนต์ LXD ซึ่งเป็นตัวlxc-*ตายตัวอย่างของ -named เครื่องมือ LXC 1.x
0xC0000022L
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.