Containerisierung ist eine Form der Virtualisierung von Anwendungen, bei der Anwendungen in isolierten Containern ausgeführt werden, die alle notwendigen Ressourcen und Abhängigkeiten enthalten und dennoch auf demselben Betriebssystem laufen. Vorteile:
Container 1 (Webserver)
Container 2 (Datenbank)
Container 3 (Monitoring)
│
▼
Container Engine (z.B. Docker)
│
▼
Host-Betriebssystem
│
▼
Hardware
| Merkmal | Container | Virtuelle Maschine |
|---|---|---|
| Betriebssystem | Teilt Host-Kernel | Eigenes Gast-Betriebssystem |
| Ressourcenverbrauch | Gering | Höher |
| Startzeit | Sekunden bis Millisekunden | Deutlich länger |
| Isolation | Prozessebene | Hardwareebene |
Unter Containerisierung versteht man eine Virtualisierungstechnik, bei der Anwendungen in isolierten Containern ausgeführt werden. Jeder Container enthält die Anwendung sowie alle benötigten Bibliotheken und Abhängigkeiten. Im Gegensatz zu virtuellen Maschinen besitzen Container kein eigenes Betriebssystem, sondern nutzen gemeinsam den Kernel des Host-Systems. Dadurch benötigen sie weniger Ressourcen und können schneller gestartet werden.
Virtuelle Maschine:
Hardware → Hypervisor → Gast-Betriebssystem → Anwendung
Container:
Hardware → Host-Betriebssystem → Container Engine → Container → Anwendung