Freebsd Jails-Alternativen unter Debian/Centos

Freebsd Jails-Alternativen unter Debian/Centos

Ich werde irgendwann von FreeBSD/Freenas zu Debian/Freenas Scale wechseln, aber die Frage ist umfassender. Was wäre das Äquivalent für Jails auf Linux-Betriebssystemen?

Die meisten werden jetzt Docker oder eine Variante davon empfehlen. Ich stimme zu, aber mir gefällt wirklich SEHR, wie Jails funktionieren, wie ich zur Shell gehen und ändern/installieren kann, was ich brauche. Das Problem ist (soweit ich weiß), dass es nicht möglich ist, Docker wie ein Jail zu verwenden, also müsste es vorkonfiguriert usw. gebaut werden. Das ist nichts für mich.

Die nächste Option ist VM. Das würde vermutlich funktionieren, aber es wäre zu kompliziert, für jede App eine VM zu erstellen. Außerdem wäre das keine Ressourcenverschwendung.

Daher bin ich auf der Suche nach Empfehlungen, wodurch ich meine aktuellen Jails ersetzen kann, um die gleiche Funktionalität wie bisher beizubehalten.

Antwort1

Wenn Sie aus Designgründen ein bestimmtes Betriebssystem verwenden müssen, müssen Sie die Tools darauf portieren.

Wir geben keine Produktempfehlungen, Sie müssen also Container-Management-Tools finden oder erstellen. Jails unterscheiden sich in den Implementierungsdetails definitiv von Linux-Containern. Ein Vergleich der Container-Technologie zeigt jedoch, dass sie auf hoher Ebene ähnlich sind.


FreeBSD-Jailssind chroot-erweitert durch Isolierung anderer Ressourcen. Plus Tools zum Verwalten des Lebenszyklus, Installieren von Medien, Starten, Stoppen.

Ähnliche Isolationsmechanismen wie bei Linux sindNamensräume. Netzwerk, Benutzer, Mount, IPC, Uname. Die meisten Container-Tools, die auf diesen basieren (es gibt mehrere Möglichkeiten), zwingen ihre eigenen Vorstellungen davon auf, wie alles funktionieren soll; Docker ist nicht nur ein Chroot. Vielleicht gefällt Ihnen nicht, wie Docker Images oder Netzwerke erstellt.

Es ist jedoch möglich, Linux-Namespaces ohne das zu verwenden, was Sie als Container betrachten.Wikipedia-Seite zu Namespaceshat eine interessante Idee zur Hinzufügung von Prozessisolation zu Chroots:

SHELL=/bin/sh unshare --fork --pid chroot "${chrootdir}" "$@"

Nicht enthalten sind die Schritte zum Erstellen dieses Chroots und zum Installieren von Inhalten darin.

Antwort2

Sie sollten vielleicht genauer erklären, welche Funktionen Sie an Jails mögen und in Containern vermissen. Ich persönlich verwende LXC-Container und sie haben ihre eigene Persönlichkeit (Debian oder Ubuntu auf einem Debian-Host). Ich kann mich per SSH in ihnen vernetzen, sie haben ihren eigenen IP-Stack, der dank Netzwerk-Namespaces vom IP-Stack des Hosts getrennt ist, und ich kann dank Prozess-Namespaces meinen eigenen Anwendungssatz in ihnen installieren und ausführen, ohne mit den Anwendungen des Hosts zu interagieren.

verwandte Informationen