Eine sehr gute Erklärung unter infoworld.com/article/3204171/linux/… . Es wurde erwähnt, dass Although Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environmentmehr auf dem Link
Alireza Fattahi
Antworten:
132
Nein, LXC, Docker und LXD sind nicht ganz dasselbe. Zusamenfassend:
LXC
LinuX Containers (LXC) ist eine Virtualisierungsmethode auf Betriebssystemebene zum Ausführen mehrerer isolierter Linux-Systeme (Container) auf einem einzelnen Steuerhost (LXC-Host).
Dieses Bild kann Ihnen helfen, den Hauptunterschied zwischen ihnen zu verstehen:
Allen gemeinsam ist, dass sich alle diese 3 Technologien auf Container beziehen.
Container sind ein kompakter Virtualisierungsmechanismus, bei dem Sie keine virtuelle Maschine auf einer Emulation physischer Hardware einrichten müssen. Unter Linux haben sie die folgenden Kernel-Funktionen gemeinsam: cgroups, namespaces(ipc, network, user, pid, mount). Sie versuchen auch, sicherere Umgebungen zu schaffen, indem sie nichtprivilegierte Container erstellen und in Sicherheitsfunktionen wie z selinux. Diese Technologien exportieren APIs, um sie besser in andere Software zu integrieren.
lxc : Userspace-Oberfläche für die Linux-Kernel-Containment-Funktionen. Dies ist der Typ, der Kernel-Namespaces, Apparmor- und SELinux-Profile, Chroots, Kernelfunktionen und alle anderen kernelbezogenen Dinge verwaltet
lxd : ist ein Container "Hypervisor". Es besteht aus einem Daemon (lxd), der Befehlszeilenschnittstelle (lxc) und einem OpenStack-Plugin. Dieser Typ wurde entwickelt, um dem LXC mehr Flexibilität und Funktionen zu bieten, während er immer noch im Hintergrund verwendet wird.
Grundsätzlich wird ein eigenständiger Betriebssystem-Benutzerbereich mit seiner isolierten Infrastruktur erstellt. lxc liegt den Betriebssystemfunktionen für Netzwerk und Speicher direkter zugrunde als Docker.
Sie erstellen viele virtuelle Maschinen, die über Benutzerbereichs- und Kernelisolierungen verfügen, aber keine vollständigen virtuellen Maschinen sind, da auf ihnen keine getrennten Kernel ausgeführt werden und sie aus demselben Grund auch nicht paravirtualisiert sind.
Canonical ist hier der Hauptsponsor, und Oracle investiert auch Arbeitsstunden in diese Technologie.
Es gibt einige Unterschiede, wobei es sich bei der Engine um die größte handelt, die Anwendungen mit einem eigenständigen Dateisystem anstelle eines Basis- "Userspace-Image" zusammenfasst. Die Idee ist, die App und das Basis-Image zu enthalten, um den Eindruck zu erwecken, dass die App ein einzelner Prozess innerhalb der Engine ist. Docker verwendete die lxc-Technologie als Basis für die Kommunikation mit dem Kernel, verwendet jedoch heute seine eigene Bibliothek, libcontainer .
Das Dateisystem ist eine Abstraktion für Docker, während lxc die Dateisystemfunktionen direkt verwendet. Das Netzwerk ist auch eine Abstraktion, während Sie mit lxc IP-Adressen und Routing-Konfigurationen einfacher einrichten können. Einige "App Store-ähnliche" Websites werden von Microsoft, Amazon, VMware, IBM und anderen Playern gepflegt.
Docker. INC. Ist hier Hauptsponsor. VMware investiert ebenfalls in diese Technologie.
Verwandte Behältertechnik:
Dies sind andere Containertechnologien, über die Linux verfügt: OpenVZ und Linux-VServer
Ja. Das ist ziemlich neu, da beinhaltet alles, was zfs auf Ubuntu Wada-Wada. Und das ist eine PRÄSENTATION. Achten Sie immer auf PDFs oder PPTs, in denen es Welten wie "besser als das" oder "schnellste Technologie" oder "skalierbarer als Y" gibt ...
5
Ich bin ziemlich skeptisch gegenüber Produkten von Canonical geworden. Sie neigen dazu, sie als das zu bewerben, was sie sein könnten, anstatt als das, was sie sind. Oft, wenn das "sein könnte", ist noch Jahre entfernt.
Orodbhen
Anstatt lxc in Kleinbuchstaben zu verwenden, sollte dies ein Verweis auf liblxc sein. Und was das Tooling betrifft, kann es dann auf 1.x bis 3.x verweisen, wobei lxd (nur der Daemon) nur für liblxc> = 2.0 verfügbar lxcist und das LXD-Client-Programm ist, das der Nachfolger des lxc-*-names ist LXC 1.x Werkzeuge.
Although Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environment
mehr auf dem LinkAntworten:
Nein, LXC, Docker und LXD sind nicht ganz dasselbe. Zusamenfassend:
LXC
https://wiki.archlinux.org/index.php/Linux_Containers
https://linuxcontainers.org/
Docker
Build, Ship, and Run Any App, Anywhere
http://www.docker.comLXD
run LXD on Ubuntu and spin up instances of RHEL, CentOS, SUSE, Debian, Ubuntu and just about any other Linux too, instantly, ...
http://www.zdnet.com/article/ubuntu-lxd-not-a-docker-replacement-a-docker-enhancement/Docker gegen LXD
Quelle: http://linux.softpedia.com/blog/infographic-lxd-machine-containers-from-ubuntu-linux-492602.shtml
Ursprünglich: https://insights.ubuntu.com/2015/09/23/infographic-lxd-machine-containers-from-ubuntu/
Kleine technische Anmerkung
lxc
http://blog.scottlowe.org/2015/05/06/quick-intro-lxd/quelle
Dieses Bild kann Ihnen helfen, den Hauptunterschied zwischen ihnen zu verstehen:
Allen gemeinsam ist, dass sich alle diese 3 Technologien auf Container beziehen.
Container sind ein kompakter Virtualisierungsmechanismus, bei dem Sie keine virtuelle Maschine auf einer Emulation physischer Hardware einrichten müssen. Unter Linux haben sie die folgenden Kernel-Funktionen gemeinsam:
cgroups
,namespaces(ipc, network, user, pid, mount)
. Sie versuchen auch, sicherere Umgebungen zu schaffen, indem sie nichtprivilegierte Container erstellen und in Sicherheitsfunktionen wie zselinux
. Diese Technologien exportieren APIs, um sie besser in andere Software zu integrieren.LXD und LXC
Diese beiden integrieren die gleiche Familie, in der:
Grundsätzlich wird ein eigenständiger Betriebssystem-Benutzerbereich mit seiner isolierten Infrastruktur erstellt. lxc liegt den Betriebssystemfunktionen für Netzwerk und Speicher direkter zugrunde als Docker.
Sie erstellen viele virtuelle Maschinen, die über Benutzerbereichs- und Kernelisolierungen verfügen, aber keine vollständigen virtuellen Maschinen sind, da auf ihnen keine getrennten Kernel ausgeführt werden und sie aus demselben Grund auch nicht paravirtualisiert sind.
Canonical ist hier der Hauptsponsor, und Oracle investiert auch Arbeitsstunden in diese Technologie.
Docker
Es gibt einige Unterschiede, wobei es sich bei der Engine um die größte handelt, die Anwendungen mit einem eigenständigen Dateisystem anstelle eines Basis- "Userspace-Image" zusammenfasst. Die Idee ist, die App und das Basis-Image zu enthalten, um den Eindruck zu erwecken, dass die App ein einzelner Prozess innerhalb der Engine ist. Docker verwendete die lxc-Technologie als Basis für die Kommunikation mit dem Kernel, verwendet jedoch heute seine eigene Bibliothek, libcontainer .
Das Dateisystem ist eine Abstraktion für Docker, während lxc die Dateisystemfunktionen direkt verwendet. Das Netzwerk ist auch eine Abstraktion, während Sie mit lxc IP-Adressen und Routing-Konfigurationen einfacher einrichten können. Einige "App Store-ähnliche" Websites werden von Microsoft, Amazon, VMware, IBM und anderen Playern gepflegt.
Docker. INC. Ist hier Hauptsponsor. VMware investiert ebenfalls in diese Technologie.
Verwandte Behältertechnik:
Dies sind andere Containertechnologien, über die Linux verfügt: OpenVZ und Linux-VServer
Verwandte Sachen:
quelle
lxc
ist und das LXD-Client-Programm ist, das der Nachfolger deslxc-*
-names ist LXC 1.x Werkzeuge.