Ein Container ist eine leichtgewichtige, isolierte Laufzeitumgebung, in der Software mit allen nötigen Abhängigkeiten ausgeführt wird – inklusive Code, Laufzeit, System-Tools und Bibliotheken. Im Gegensatz zu virtuellen Maschinen teilen Container denselben Betriebssystemkern, sind aber deutlich ressourcensparender.

Merkmale von Containern

  • Portabel: Einmal gebaut, überall lauffähig
  • Schnell startklar: Container starten in Sekunden
  • Isolation: Anwendungen laufen unabhängig voneinander
  • Reproduzierbar: Gleiche Umgebung auf verschiedenen Systemen

Typische Einsatzgebiete

  • Microservices: Verteilte Anwendungen aus vielen Containern
  • DevOps & CI/CD: Automatisiertes Testen, Bauen und Bereitstellen
  • Cloud-Umgebungen: Skalierbare Anwendungen in der Cloud
  • Entwicklungsumgebungen: Gleiche Bedingungen für Entwicklerteams

Bekannte Container-Technologien

  • Docker: Der de-facto-Standard für Container
  • Podman: Docker-kompatibel, aber daemonlos
  • Kubernetes: Orchestrierung und Verwaltung großer Container-Infrastrukturen

Unterschied zu virtuellen Maschinen

  • VMs: Vollständiges Betriebssystem, langsamer Start, mehr Ressourcenverbrauch
  • Container: Gemeinsamer Kernel, schnelle Bereitstellung, geringere Last

Siehe auch