Container bilden nur das Betriebssystem ab

Container virtualisieren nur das Betriebssystem. Der Container enthält in der Regel nur eine Anwendung inklusive aller zur Ausführung notwendigen Binaries und Bibliotheken.

Der Grundstein für diese Art der Virtualisierung wurde bereits 1979 gelegt. Unix-Entwickler führten CHROOT ein, mit dem sich Teile des Dateisystems isolieren ließen. Diese Technik wurde hauptsächlich zum Schutz von Servern eingesetzt.

In den späten 1990er Jahren gab es Bestrebungen, mit User Mode Linux ein Betriebssystem im Betriebssystem zu betreiben. Bekanntheit erlangten sie aber kaum. Mit FreeBSD Jail kam im Jahr 2000 die erste Virtualisierung mittels Containertechnik.

Ab den 2000er Jahren begannen Webhoster mit OpenVZ und Virtuozzo, viele Hosts isoliert voneinander auf einem physischen Server zu betreiben.

Linux Containers (LXC) ist ein Verfahren zur Virtualisierung auf Betriebssystemebene. Es kombiniert dafür eine Vielzahl von Techniken. Konfiguration und Betrieb erfordern aber viel Fachwissen über Betriebssysteme.

2013 stellte das Unternehmen Dotcloud das Produkt Docker vor. Damit wurde Entwicklern das Verpacken von Anwendungen und Diensten in einen Container erheblich erleichtert. Die Containervirtualisierung erlebte eine massive Verbreitung.

Hardwareressourcen gemeinsam nutzen

Sämtliche Cloudanbieter stellen heute die Virtualisierung über Container, aber auch die Orchestrierung (automatisiertes Bereitstellen, Verwalten, Skalieren usw. von Containern) als Platform as a Service zur Verfügung. Häufig wird dafür Kubernetes oder Openshift verwendet.

Mehrere Container, die auf einem Host ausgeführt werden, teilen sich dessen Kernel und die zugehörigen Binärdateien und Bibliotheken. Die gemeinsame Nutzung dieser Ressourcen führt dazu, dass sie nicht mehrmals kopiert werden müssen. Umgekehrt bedeutet diese Abhängigkeit aber, dass eine Änderung am Host-Betriebssystem Auswirkungen auf alle Container hat.

Die meisten Containersysteme arbeiten mit Images. Diese beinhalten lediglich die Applikation inklusive der nötigen Binaries und Bibliotheken. Die Größe eines Containers beträgt oft nur wenige Megabyte. Das ermöglicht den Start innerhalb weniger Sekunden.

Containervirtualisierung hat die Softwareentwicklung verändert

Der Einsatz der Containervirtualisierung hat die Entwicklung von Software stark beeinflusst. Die Flexibilität und die Möglichkeit der schnellen Bereitstellung führen dazu, dass eine Applikation auf mehrere kleine Services verteilt wird, die unabhängig voneinander laufen (Microservice-Architektur). Das ermöglicht es, einzelne Teile einer Applikation schnell und einfach zu aktualisieren oder zu erweitern.

  • CPU-Nutzung in Prozent, wenn jeder Dienst auf einem physikalischen Server betrieben wird (Screenshot: Markus Renezeder)
  • RAM-Nutzung in GByte, wenn jeder Dienst auf einem physikalischen Server betrieben wird (Screenshot: Markus Renezeder)
  • Verteilte CPU-Nutzung in Prozent beim Betrieb mehrerer Dienste auf einer Hardware (Screenshot: Markus Renezeder)
  • Gemeinsame RAM-Nutzung in GByte beim Betrieb mehrerer Dienste auf einer Hardware (Screenshot: Markus Renezeder)
  • Host, Hypervisor, VM (Screenshot: Markus Renezeder)
  • Container-Virtualisierung (Screenshot: Markus Renezeder)
Container-Virtualisierung (Screenshot: Markus Renezeder)

Durch die vermehrte Verbreitung und Verwendung haben sich Repositories etabliert, die bereits fertige Container-Images enthalten. Nicht alle Images stammen aus vertrauenswürdigen Quellen und sollten vor der Bereitstellung genauestens geprüft werden. Viele Images werden auch von Bastlern bereitgestellt und eventuelle Sicherheitsvorgaben oder Best Practices werden nicht immer eingehalten.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Container vs. Virtuelle Maschinen: Vertraue der Macht, IndyDie wichtigsten Unterschiede zwischen VM und Container 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


Dark Harry 27. Jul 2022

Der Vergleich im Artikel ist total daneben. Minions vs Mad Max kommt wohl eher hin.

win.ini 27. Jul 2022

Vielen Dank für die Antwort! Also ist es prinzipiell alles möglich - manchmal muss jedoch...

qupfer 23. Jul 2022

Das würde ich nicht so sagen. Das trifft auf die durch docker bekannt gewordenen...

LH 23. Jul 2022

Was soll an der Überprüfung von Software in einer VM ein Problem sein? Und kleine VMs...



Aktuell auf der Startseite von Golem.de
Whistleblower
Ehemaliger US-Konteradmiral äußert sich zu Außerirdischen

Wieder hat sich in den USA ein ehemals hochrangiger Militär und Beamter über Kontakte mit Aliens geäußert.

Whistleblower: Ehemaliger US-Konteradmiral äußert sich zu Außerirdischen
Artikel
  1. Schadstoffnorm 7: Neue Grenzwerte für Abrieb gelten auch für E-Autos
    Schadstoffnorm 7
    Neue Grenzwerte für Abrieb gelten auch für E-Autos

    Die neue Euronorm 7 legt nicht nur Grenzwerte für Bremsen- und Reifenabrieb fest, sondern auch Mindestanforderungen für Akkus.

  2. Ramjet: General Electric testet Hyperschalltriebwerk
    Ramjet
    General Electric testet Hyperschalltriebwerk

    Das Triebwerk soll Flüge mit Mach 5 ermöglichen.

  3. Elektroautos: Mercedes und Stellantis übernehmen komplette Umweltprämie
    Elektroautos
    Mercedes und Stellantis übernehmen komplette Umweltprämie

    Nach dem abrupten Aus der staatlichen Förderung springen erste Hersteller von Elektroautos ein.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Last-Minute-Angebote bei Amazon • Avatar & The Crew Motorfest bis -50% • Xbox Series X 399€ • Cherry MX Board 3.0 S 49,95€ • Crucial MX500 2 TB 110,90€ • AVM FRITZ!Box 7590 AX + FRITZ!DECT 500 219€ [Werbung]
    •  /