Notiz Aus der Community: Guide zur Erstellung eines Linux-Containers (LXC)

SVΞN

Redakteur a.D.
Registriert
Juni 2007
Beiträge
22.711
  • Gefällt mir
Reaktionen: tony_mont4n4, kryzs und Termy
SV3N schrieb:
Im Gegensatz zu anderen Methoden realisiert LXC eine Virtualisierung nicht mittels einer virtuellen Maschine, sondern nutzt mit einem eigenen Prozess den Kernel des Hosts.

Ich klugscheiße wirklich nur ungern, aber das ist so nicht ganz richtig.
Containirisierung ist keine tatsächliche Virtualisierung, eine Containersoftware stellt lediglich unabhängig voneinander getrennte Kernel-Namespaces zur Verfügung.

Effektiv ist ein Container eher so etwas wie eine chroot-Umgebung.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: AlphaKaninchen, flo.murr, Termy und 5 andere
textract schrieb:
Effektiv ist ein Container eher so etwas wie eine chroot-Umgebung.

Danke für deinen Hinweis, ich passe die Formulierung entsprechend an.

Liebe Grüße,
Sven
 
  • Gefällt mir
Reaktionen: flo.murr
Irgendwo seh ich das aber auch als eine Virtualisierung, nur auf einer anderen Ebene. Die Abstraktionsschicht ist bei Containern halt auf Kernel-Ebene und es wird nur das Userland virtualisiert.

chroot macht das ganze ja nur auf Dateisystem-Ebene, die Kernel-Namespaces sind da schon eine Erweiterung dazu. Wohl am ehesten mit den Jails vergleichbar die z.B. BSD hat.
 
  • Gefällt mir
Reaktionen: AlphaKaninchen und new Account()
Jesterfox schrieb:
Irgendwo seh ich das aber auch als eine Virtualisierung, nur auf einer anderen Ebene.
Es wird aber nicht im herkömmlichen Sinne (Virtuelle Maschine) virtualisiert. Mit dem Wort dahinter (abstrahiert) bist du der Sache denke ich näher.

Es kotzt ja auch einige Entwickler an, wenn man von Docker Containern spricht. Es sind einfache Container, die Linux Funktionalität nutzen und nichts was Docker Inc. erfunden hat.
 
  • Gefällt mir
Reaktionen: sam_fisher
Wobei eben auch bei einer VM eine Abstraktion stattfindet, nur eben auf Hardwareebene. Und man spricht ja auch von virtuellem Speicher wenn eine MMU das ganze verwaltet und Adressen ummappt, so das jede Anwendung ihren eigenen Adressraum hat. Daher denke ich das man den Begriff "Virtualisierung" durchaus weiter fassen darf. Man sollte halt nur immer mit klarstellen was genau virtualisiert wird um Missverständnisse zu vermeiden.

Und ja, Docker ist nur ein Tooling um diesen Mechanismus einfacher nutzbar zu machen und nicht das einzige das existiert.
 
  • Gefällt mir
Reaktionen: new Account()
Der Autor wollte erreichen, „möglichst keine proprietäre Software“ auf seinem Hauptsystem installiert zu haben und nennt hier die Windows-kompatible Laufzeitumgebung Wine sowie Steam als Beispiele.
Klingt irgendwie so als wäre Wine proprietär :p.

Zum Thema Virtualisierung:
Schlimm wirds halt wenn Container als Virtuelle Maschinen bezeichnet werden, ich denke bei Virtualisierung kann man ein Auge zu drücken.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: u.dot
Jepp, "Virtuelle Maschine" ist definitiv der falsche Begriff dafür, da eben keine ganze Maschine virtualisiert wird. Deswegen fand ich die ursprüngliche Beschreibung im Artikel auch nicht wirklich falsch sondern vielleicht etwas unklar.
 
Etwas Ähnliches lässt sich auch mit docker realisieren, wer Interesse hat, kann sich mal x11docker anschauen.
 
Nennt das Kind beim Namen: Paravirtualisierung.
 
Paravirtualisierung ist wieder was anderes; da greift das Gast-System ueber eine Geraete-API statt ueber die normalen Hardwareschnittstellen zu, sodass die darunterliegende virtuelle Maschine nicht umstaendlich (und zeitraubend) die diversen Hardware-Register emulieren muss. Es koennen aber beliebige Betriebssysteme auf der Para-VM laufen, solange ihre Geraetetreiber diese API beherrschen.

Bei Linux-Containern laeuft alles im selben Linux-Kernel. Da laeuft dann z.B. kein Windows drauf, und auch keine andere Linux-Kernel-Version. Nur sind die Container voneinander isoliert, staerker als bei chroot. Solange einem die Einschraenkung auf den selben Linux-Kernel nicht stoert, kann man mit Containern aehnliche Dinge machen wie mit Virtuellen Maschinen (ob Para oder nicht).
 
  • Gefällt mir
Reaktionen: u.dot
Für das Beste aus beiden Welten (Virtuelle Maschinen und LXC) benutze ich gern Proxmox VE, denn da kann man "mal schnell" einen Container anstarten, der dann ähnlich wie eine VM verwaltet wird.
 
  • Gefällt mir
Reaktionen: u.dot
Zurück
Oben