GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Leichte, isolierte Linux-Umgebung

Chroot ist die leichteste Umgebung, die zu Ihnen passen könnte. Es erlaubt Ihnen, eine andere Distribution (oder eine andere Installation derselben Distribution) mit denselben Benutzern, mit derselben Netzwerkkonfiguration usw. zu installieren. Chroot bietet nur eine grobe Isolierung auf Dateisystemebene. Das Durchsuchen dieser Site nach chroot könnte hilfreich sein, wenn Sie immer noch nicht sicher sind, was chroot kann und was nicht.

Wenn Sie nach dem nächsten Schritt suchen, ist LXC jetzt in der Kernel-Hauptlinie enthalten. Ein LXC-Gast (als Container bezeichnet) verfügt über ein eigenes Dateisystem, einen eigenen Prozess und einen eigenen Netzwerkbereich. Root im Container ist auch Root auf dem Host; LXC schützt vor vielen versehentlichen Aktionen eines Gast-Roots, aber nicht vor einem böswilligen Gast-Root (dies ist ein geplantes Feature, achten Sie auf diesen Bereich).

Andere Technologien, die LXC etwas ähneln, sind VServer und OpenVZ. Ein wichtiges Feature, das OpenVZ bietet, aber nicht VServer oder LXC, sind Checkpoints:Sie können einen Snapshot einer laufenden Maschine erstellen und später wiederherstellen. Ein weiterer Kandidat ist User-Mode-Linux, das ein vollständiges Linux-System in einem Prozess ausführt, der als normaler Benutzer auf dem Host ausgeführt wird.

Um mit einer anderen Betriebssysteminstallation zu experimentieren, ist chroot in Ordnung. Wenn Sie Dienste in der experimentellen Installation ausführen oder mit Netzwerken spielen möchten, entscheiden Sie sich für LXC. Wenn Sie Schnappschüsse wünschen, verwenden Sie OpenVZ. Wenn Sie einen vollständig separaten Kernel, aber wenig Speicheraufwand wünschen, verwenden Sie User-Mode-Linux. Wenn Sie Snapshots und einen separaten Kernel wünschen, verwenden Sie VirtualBox.


Docker macht LXC benutzerfreundlicher:

Bemerkenswerte Funktionen

Dateisystemisolation :Jeder Prozesscontainer läuft in einem völlig separaten Root-Dateisystem.

Ressourcenisolation :Systemressourcen wie CPU und Speicher können jedem Prozesscontainer mithilfe von cgroups unterschiedlich zugewiesen werden.

Netzwerkisolation :Jeder Prozesscontainer läuft in seinem eigenen Netzwerk-Namespace mit eigener virtueller Schnittstelle und eigener IP-Adresse.

Copy-on-Write :Root-Dateisysteme werden mit Copy-on-Write erstellt, was die Bereitstellung extrem schnell, speicher- und festplattengünstig macht.

Protokollierung :Die Standard-Streams (stdout/stderr/stdin) jedes Prozesscontainers werden gesammelt und für Echtzeit- oder Stapelabrufe protokolliert.

Änderungsmanagement :Änderungen am Dateisystem eines Containers können in ein neues Image übernommen und wiederverwendet werden, um weitere Container zu erstellen. Keine Vorlagen oder manuelle Konfiguration erforderlich.

Interaktive Shell :Docker kann ein Pseudo-TTY zuweisen und an die Standardeingabe eines beliebigen Containers anhängen, um beispielsweise eine wegwerfbare interaktive Shell auszuführen.

Unter der Haube

Unter der Haube basiert Docker auf den folgenden Komponenten:

  • Die Cgroup- und Namespace-Fähigkeiten des Linux-Kernels

  • AUFS, ein leistungsstarkes Union-Dateisystem mit Copy-on-Write-Fähigkeiten

  • Die Programmiersprache Go

  • lxc, eine Reihe praktischer Skripte zur Vereinfachung der Erstellung von Linux-Containern.


Sehen Sie sich OpenVZ oder Linux Container an, die beide eine leichtgewichtige, pseudovirtualisierte Umgebung mit einzigartigen Userlands auf einem gemeinsamen Kernel implementieren.

OpenVZ ist in diesem Stadium ausgereifter.


Linux
  1. Erstellen Sie Ihren eigenen Container unter Linux

  2. Eine Geschichte der Low-Level-Laufzeiten von Linux-Containern

  3. Linux-Container mit LXC auf Ubuntu 16.04 einrichten

  4. Meine 5 Lieblings-Linux-Container-Images

  5. Linux – Lxc; Bereitstellen von Images mit dem kleinstmöglichen X11?

Pekwm:Ein leichter Linux-Desktop

Lernen Sie Endless OS kennen, eine leichtgewichtige Linux-Distribution

Linux-Container mit LXC auf CentOS 7 / RHEL 7 einrichten

Einführung in die Verwaltung von Linux-Containern

5 Leichte Linux-Desktop-Umgebungen

Linux-Umgebungsvariablen