Wie ist "lxd" unterscheidet sich von lxc/docker?
Fragen
- Wie funktioniert lxd bieten die Volle Funktionalität des Betriebssystems in Containern, nicht nur einzelne Prozesse?
- Wie unterscheidet es sich von lxc/docker + - Wrapper?
- Ist es ähnlich wie ein container, der gestartet wird mit docker + supervisor/wrapper-Skript enthalten mehrere Prozesse in einem Behälter?
In anderen Worten:
- Was kann ich tun, lxd, dass ich nicht mit einige Wrapper über lxc und docker ?
- Warum ist es nur in ubuntu, wenn Sie die Nutzung von mainline-kernel-features (namespaces und cgroup )?
- meine Frage ist, "lxd", nicht "lxc"
- Es ist sicher! Tut mir Leid, dass.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Container Isoliert sind Linux-Systeme mit den cgroups Funktionen zum einschränken der cpu - /Speicher - /Netzwerk - /etc des Linux-Kernels, ohne die Notwendigkeit für die Gründung einer vollständigen virtuellen Maschine.
LXD nutzt die Funktionen von liblxc (basiert in LXC) und aus dieser kommt der Funktionen für die vollständige OS-Funktionalität.
LXD verwenden liblxc von LXC. Docker ist mehr Anwendung konzentriert, nur die wichtigsten Prozess für Ihre app im inneren des Behälters (mit libcontainer jetzt standardmäßig Andockfenster habe liblxc zunächst für diese)
Etwas ähnliches. Die diference zwischen LXD und Docker ist, dass Docker ist eine Anwendung, container, LXD ist ein system-container. LXD verwenden, upstart/systemd, wie Rektor Prozess im inneren des Behälters und ist standardmäßig bereit, um eine vollständige VM-Umgebung mit sehr niedriger Speicher - /cpu-Auslastung. Ja, Sie können bauen Sie Ihre Andockfenster mit supervisorctl/runit, aber Sie tun müssen, manuell diesem Prozess. Sie können überprüfen, wie getan wird, in http://phusion.github.io/baseimage-docker/, dass etwas ähnliches in einem container.
live-Migrationen von Containern, verwenden Sie Ihre Behälter wie volle virtuelle Maschinen, genaue config für widmen cpu-Kernen/Speicher - /Netzwerk-I/O für den Einsatz im container -, führen Sie Ihre container-Prozess im unprivilegierten Modus (root-Prozess innerhalb Ihrer container != root-Prozess auf Ihrem host) standardmäßig Andockfenster Arbeit im privilegierten Modus, nur jetzt im Andockfenster 1.10 Umsetzung der normale Modus, aber Sie müssen überprüfen (und vielleicht schreiben) Ihre Dockerfiles, weil viele Dinge funktionieren nicht im unprivilegierten Modus.
LXD und Docker sind verschiedene Dinge. LXD bietet Ihnen einen "full OS" in einem container und Sie können jede deployment-tool, das funktioniert in einer VM, die für die Bereitstellung von Anwendungen in LXD. Mit Docker Ihre Anwendung in den Behälter und Sie müssen verschiedene Werkzeuge für die Bereitstellung von Anwendungen in Docker und tun Metrik für die Leistung.
LXD hat kommerziellen support von Canonical, wenn erforderlich, aber Sie können bauen LXD in Centos 7, ArchLinux (mit kernel gepatcht) überprüfen https://github.com/lxc/lxd. Gentoo unterstützt LXD jetzt https://wiki.gentoo.org/wiki/LXD.
LXD
basiert aufliblxc
ist Ihre Aufgabe, die Kontrolle über einigelxc
mit zusätzlichen Funktionen wie snapshots oder live-migration.LXD
ist mitLXC
und Sie sind OS zentriert.Docker
ist viel mehr Anwendungs-zentriert, basiert am Anfang aufLXC
aber jetzt unabhängig vonLXC
sind, kann esopenvz
oder was auch immer.Docker
nur konzentriert sich auf die Anwendung mit lib und Abhängigkeit, nicht auf OS.Blick auf diese für mehr :
https://www.flockport.com/lxc-vs-lxd-vs-docker-making-sense-of-the-rapidly-evolving-container-ecosystem/
Grüße.
LXD arbeitet in Verbindung mit LXC und ist nicht ersetzen oder verdrängen LXC. Stattdessen soll LXC-basierten Container einfacher zu verwenden durch die Zugabe von einem back-end-daemon unterstützt eine REST-API und eine einfache CLI-client, funktioniert mit dem lokalen daemon und remote-daemons über die REST-API.
LXD ist mehr wie docker host.