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

SV3N

Redakteur
Teammitglied
Dabei seit
Juni 2007
Beiträge
13.403

textract

Lt. Commander
Dabei seit
Aug. 2011
Beiträge
1.273
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:

Jesterfox

Fleet Admiral
Dabei seit
März 2009
Beiträge
41.538
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.
 

Yuuri

Fleet Admiral
Dabei seit
Okt. 2010
Beiträge
13.004
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.
 

Jesterfox

Fleet Admiral
Dabei seit
März 2009
Beiträge
41.538
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.
 

shinXdxd

Ensign
Dabei seit
Feb. 2018
Beiträge
242
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:

Jesterfox

Fleet Admiral
Dabei seit
März 2009
Beiträge
41.538
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.
 

Rassnahr

Lt. Commander
Dabei seit
Dez. 2010
Beiträge
1.106
Etwas Ähnliches lässt sich auch mit docker realisieren, wer Interesse hat, kann sich mal x11docker anschauen.
 

Salamimander

Lieutenant
Dabei seit
Okt. 2019
Beiträge
872
Nennt das Kind beim Namen: Paravirtualisierung.
 

mae

Cadet 3rd Year
Dabei seit
Feb. 2020
Beiträge
40
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).
 

LucasAppelmann

Cadet 4th Year
Dabei seit
Jan. 2019
Beiträge
67
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.
 
Top