Ein Container ist eine standardisierte, leichtgewichtige Softwareeinheit, die eine Anwendung zusammen mit allen ihren Abhängigkeiten – Code, Laufzeitumgebung, Systemtools, Bibliotheken und Konfiguration – in einem isolierten Paket bündelt. Container laufen überall gleich: auf dem Laptop des Entwicklers, im Testserver und in der Produktionsumgebung der Cloud – ohne „bei mir läuft es aber“-Probleme durch unterschiedliche Systemumgebungen.
Docker ist die bekannteste Container-Plattform und hat Container seit 2013 zum Standard in der Softwareentwicklung gemacht. Container sind die Bausteine moderner Cloud-nativer Architekturen und die bevorzugte Deployment-Einheit für Automatisierungsplattformen, die self-hosted betrieben werden – n8n, Airflow, Prefect und viele andere werden als Docker-Container ausgeliefert.
Was ein Container enthält
- Anwendungscode: Das eigentliche Programm – Python-Skript, Node.js-App, Go-Binary
- Laufzeitumgebung: Python 3.11, Node.js 20, Java 17 – die exakte Version, die die Anwendung braucht
- Abhängigkeiten: Alle npm-Packages, pip-Libraries, System-Bibliotheken – vollständig eingeschlossen
- Konfiguration: Umgebungsvariablen, Konfigurationsdateien – alles, was die App zum Laufen braucht
- Nicht enthalten: Betriebssystem-Kernel – der wird vom Host geteilt, das macht Container so leichtgewichtig
Container in der Automatisierungspraxis
Für Automatisierungsplattformen bedeutet Containerisierung: Self-hosted-Deployment in einer einzigen Zeile. docker run -d n8nio/n8n startet eine vollständige n8n-Instanz in Sekunden – ohne manuelle Installation von Node.js, npm-Packages oder Konfigurationsdateien. Updates sind reproduzierbar: neues Container-Image herunterladen, alten Container stoppen, neuen starten. Rollback bei Problemen: altes Image wieder starten. Container machen Deployment deterministisch und reversibel.
Container vs. virtuelle Maschinen: Beide isolieren Anwendungen voneinander. Der Unterschied: Eine VM enthält ein vollständiges Betriebssystem (Gigabytes), ein Container teilt den Kernel des Host-Systems (Megabytes). Container starten in Sekunden, VMs in Minuten. Container sind effizienter, VMs bieten stärkere Isolation. In der Praxis: VMs für starke Sicherheitsisolation (z.B. verschiedene Kunden auf gemeinsamer Infrastruktur), Container für Anwendungs-Deployment innerhalb einer gesicherten Umgebung.
Praxisbeispiel
Ein Automationsdienstleister betreibt für 12 Kunden je eine isolierte n8n-Instanz als Docker-Container auf einem einzigen VPS. Jeder Container hat eigene Ressourcen-Limits (2 CPU-Kerne, 2 GB RAM), ein eigenes Netzwerk-Namespace und läuft vollständig unabhängig. Fällt Container für Kunde 5 aus, betrifft das Kunden 1–4 und 6–12 nicht. Update auf neue n8n-Version: neues Image pullen, Container nacheinander neu starten – gesamte Downtime je Kunde unter 20 Sekunden. Neue Kundeninstanz deployen: 3 Minuten, vollständig automatisiert per Skript. Ressourcenauslastung des VPS: 68 Prozent, 12 Kunden auf einer einzigen Maschine.




