Definition: Ein Verfahren zur Virtualisierung, bei dem Anwendungen und ihre Abhängigkeiten, Systembibliotheken und Einstellungen in einem "Container" gebündelt werden. Container ermöglichen es, Anwendungen in konsistenten und reproduzierbaren Umgebungen auszuführen.
Schlüsseleigenschaften:
Isolierung: Jeder Container funktioniert als eigenständige Einheit und ist von anderen Containern getrennt.
Leichtigkeit: Container sind im Vergleich zu herkömmlichen virtuellen Maschinen leichtgewichtig, da sie kein gesondertes Betriebssystem benötigen.
Portabilität: Einmal erstellt, kann ein Container auf jeder Plattform ausgeführt werden, die den Container-Engine unterstützt.
Konsistenz: Ermöglicht konsistente Umgebungen zwischen Entwicklung, Test und Produktion.
Beliebte Technologien:
Docker: Eine weit verbreitete Plattform zur Erstellung, Verteilung und Ausführung von Containern.
Kubernetes: Ein Orchestrierungssystem für Docker-Container, das das Deployment, die Skalierung und die Verwaltung automatisiert.
Vorteile gegenüber VMs (Virtuellen Maschinen):
Ressourceneffizienz: Container teilen sich denselben OS-Kernel und verwenden nur die benötigten Ressourcen.
Schnellere Startzeiten: Container können in Sekundenbruchteilen gestartet und gestoppt werden.
Einsatzbereiche: Entwicklung, Tests, Continuous Integration/Continuous Deployment, Microservices-Architekturen und viele andere Anwendungen, bei denen Isolierung, Konsistenz und Portabilität von Vorteil sind.