Die Konvergenz von Information Technology (IT) und Operational Technology (OT) stellt Unternehmen vor neue Herausforderungen beim Deployment industrieller Softwaresysteme. Traditionelle OT-Systeme sind monolithisch, schwer zu aktualisieren und oft an proprietäre Hardware gebunden. Docker für IT/OT-Architekturen bietet einen Ausweg: Container-Technologie ermöglicht modulares, versioniertes und reproduzierbares Deployment von Unified Namespace (UNS)-Komponenten – von Message Brokern bis zu Edge-Gateways. Dieser Artikel zeigt, welche konkreten Vorteile Docker in industriellen Umgebungen bietet, welche Architekturmuster sich bewährt haben und welche Best Practices IT/OT-Architekten bei der Implementierung beachten müssen.

Was ist Docker? – Grundlagen für den OT-Kontext
Docker ist eine Plattform zur Entwicklung, Verteilung und Ausführung von Anwendungen in isolierten Containern. Im Gegensatz zu virtuellen Maschinen (VMs), die jeweils ein vollständiges Betriebssystem enthalten, teilen sich Container den Kernel des Host-Betriebssystems. Das Ergebnis: deutlich geringerer Ressourcen-Overhead und schnellere Startzeiten.
Container vs. Virtuelle Maschinen
| Eigenschaft | Docker Container | Virtuelle Maschine |
|---|---|---|
| Startup-Zeit | < 1 Sekunde | 30-60 Sekunden |
| Ressourcen-Overhead | Minimal (MB) | Hoch (GB) |
| Isolation | Prozess-Ebene | Hardware-Ebene |
| Portabilität | Hoch | Mittel |
| Density | 100+ Container/Host | 10-20 VMs/Host |
Docker-Kernkonzepte
Für den Einsatz von Docker in IT/OT-Architekturen sind vier Konzepte zentral:
- Images: Unveränderliche Templates, die eine Anwendung und alle Abhängigkeiten enthalten. Ein Image für Eclipse Mosquitto enthält beispielsweise den MQTT-Broker, Konfigurationsdateien und alle benötigten Bibliotheken.
- Container: Laufende Instanzen eines Images. Ein Container ist isoliert, hat eigene Netzwerk-Interfaces und kann jederzeit gestoppt, neu gestartet oder gelöscht werden – ohne das Host-System zu beeinflussen.
- Volumes: Persistente Datenspeicher, die unabhängig vom Container-Lifecycle existieren. Kritisch für OT-Anwendungen: MQTT-Broker-Persistenz, Datenbank-Daten oder Logfiles werden in Volumes gespeichert.
- Networks: Docker-eigene Netzwerke zur Kommunikation zwischen Containern. Ermöglicht Isolation: Ein OT-Container kann in einem separaten Netzwerk laufen als ein IT-Dashboard-Container.
Für OT-Umgebungen sind drei Eigenschaften besonders relevant: Determinismus (identische Laufzeitumgebungen über Standorte hinweg), Isolation (fehlerhafte Komponenten beeinflussen andere Container nicht) und Reproduzierbarkeit (schnelle Wiederherstellung nach Hardwareausfällen durch Image-basiertes Deployment).
Warum Docker für IT/OT-Architekturen?
Die Einführung von Docker für IT/OT-Architekturen ist kein Selbstzweck. Container-Technologie löst konkrete Probleme, die in industriellen Umgebungen regelmäßig auftreten.
Vorteil 1: Konsistente Deployment-Umgebungen
Ein klassisches Problem in der OT: Ein Protokoll-Konverter funktioniert auf dem Entwicklungssystem einwandfrei, versagt aber im Werk, weil dort eine andere Bibliotheksversion installiert ist. Docker eliminiert dieses „Works on my machine“-Problem. Ein Container-Image enthält die exakte Laufzeitumgebung – identisch in Entwicklung, Test und Produktion.
OT-Relevanz: Bei der Inbetriebnahme neuer Standorte entfällt die manuelle Konfiguration. Das gleiche docker-compose.yml deployiert den kompletten UNS-Stack: Message Broker, OPC UA Connector, Edge Gateway für Data Harmonization und Grafana für Monitoring.
Vorteil 2: Versionierung und Rollback
Docker-Images werden versioniert wie Software-Artefakte. Ein MQTT-Broker läuft mit Image eclipse-mosquitto:2.0.18. Nach einem Update auf 2.0.19 treten Probleme auf? Ein Rollback auf die vorherige Version dauert Sekunden:
docker-compose down
docker-compose up -d eclipse-mosquitto:2.0.18
OT-Relevanz: In produktionsnahen Systemen ist schnelles Rollback kritisch. Während traditionelle Software-Updates Stunden Downtime verursachen, ermöglicht Docker Zero-Downtime-Updates über Blue-Green-Deployments.
Vorteil 3: Isolation und Sicherheit
Ein kompromittierter Container bleibt isoliert. Selbst wenn ein Angreifer einen Dashboard-Container übernimmt, hat er keinen direkten Zugriff auf den Message Broker-Container – sofern die Netzwerk-Segmentierung korrekt konfiguriert ist.
OT-Relevanz: Defense in Depth ist ein Kernprinzip für sichere UNS-Architekturen. Docker ermöglicht Trennung nach Security-Levels: Edge-Connectoren mit direktem OT-Zugriff laufen in einem separaten Netzwerk als IT-seitige Analytics-Container.
Vorteil 4: Ressourceneffizienz
Ein Edge-Gateway mit 8 GB RAM kann problemlos fünf bis zehn Container betreiben: Message Broker, OPC UA Connector, Modbus-Gateway, Telegraf für Metriken und i-flow Edge für lokale Datenverarbeitung. Der gleiche Stack mit VMs würde dedizierte Hardware erfordern.
OT-Relevanz: Edge-Hardware ist teuer. Docker maximiert die Nutzung vorhandener Ressourcen und reduziert die Anzahl benötigter Geräte pro Produktionslinie.
Vorteil 5: Skalierung und Orchestrierung
Wenn ein Message Broker an Kapazitätsgrenzen stößt, ermöglicht Docker horizontale Skalierung: zusätzliche Broker-Instanzen werden automatisch gestartet. Orchestrierungs-Tools wie Kubernetes automatisieren diesen Prozess.
OT-Relevanz: Globale Produktionsnetzwerke mit Dutzenden bis hunderten Edge-Gateways erfordern zentrale Verwaltung. Docker Swarm oder Kubernetes ermöglichen Deployment und Monitoring aller Container von einer zentralen Stelle aus.
Anwendungsfälle: Docker im UNS-Stack
Docker in IT/OT-Architekturen ist kein theoretisches Konzept. Die folgenden Anwendungsfälle zeigen beispielhaft, wie Container-Technologie konkret in Unified Namespace-Implementierungen eingesetzt wird.
Message Broker (NATS, MQTT)
Der Message Broker ist das Herzstück eines UNS. NATS als Docker-Container bietet mehrere Vorteile: minimaler Ressourcen-Footprint, High-Performance Messaging und flexible Persistenz über JetStream. Als Alternative wird häufig MQTT mit Eclipse Mosquitto eingesetzt. Einen detaillierten Vergleich finden Sie hier.
docker run -d \
--name nats-server \
-p 4222:4222 \
-p 8222:8222 \
-v ./nats/config:/etc/nats \
-v nats_data:/data \
nats:2.10-alpine \
-c /etc/nats/nats-server.conf
Die Konfiguration liegt in einem Volume – Updates des Broker-Images überschreiben sie nicht. JetStream-Persistenz, TLS-Zertifikate und Access Control bleiben erhalten. NATS eignet sich besonders für Cloud-Native UNS-Architekturen mit hohen Durchsatzanforderungen.
Edge-Gateways (OPC UA, Modbus, Siemens S7 Connectoren)
Protokoll-Konverter sind prädestiniert für Container-Deployment. Ein OPC UA-Connector liest Daten aus einer SPS, transformiert sie in JSON und publiziert sie via MQTT oder NATS ins UNS. Als Container:
- Einfache Updates ohne SPS-Unterbrechung
- Mehrere Connectoren auf einem Gateway (OPC UA + Modbus + S7)
- Restart Policies: Bei Fehlern automatischer Neustart
Typisches Multi-Container-Setup: opcua-connector, mqtt-broker, telegraf (Monitoring) – orchestriert über Docker Compose.
Datenverarbeitung (i-flow Edge)
Data Harmonization ist eine Kernanforderung im UNS: Rohdaten aus SPSen werden normalisiert, Einheiten konvertiert und mit Kontext angereichert. i-flow Edge eignet sich dafür – und ist als Container besonders praktisch. Updates des Containers überschreiben existierende Konfigurationen und Verarbeitungs-Pipelines nicht.
Time-Series-Datenbanken (InfluxDB, TimescaleDB)
Historisierung von UNS-Daten erfordert Time-Series-Datenbanken. InfluxDB als Container ermöglicht:
- Separate Volumes für Daten und Konfiguration
- Backup-Strategien über Volume-Snapshots
- Upgrade-Tests in isolierten Umgebungen
Kritisch: Memory- und CPU-Limits setzen, um Ressourcen-Starvation auf Edge-Devices zu verhindern.
Visualisierung (Grafana, Custom Dashboards)
Grafana-Container mit vorkonfiguriertem Dashboard-Setup lassen sich über hunderte Standorte hinweg replizieren. Ein Dashboard-Template als JSON-File wird ins Image gebacken – jeder neue Standort erhält identische Visualisierungen.
docker run -d \
-p 3000:3000 \
-v grafana-storage:/var/lib/grafana \
grafana/grafana:latest
Architekturmuster für Docker in IT/OT
Die Wahl des richtigen Architekturmusters hängt von Skalierung, Verfügbarkeitsanforderungen und Netzwerkstruktur ab.
1. Single-Host-Setup (Edge Gateway)
Das einfachste Muster: Ein Edge-Gateway mit Docker Compose orchestriert alle Container lokal.
Typische Komponenten:
- NATS oder MQTT-Broker (Eclipse Mosquitto)
- Protokoll-Konverter (z.B. i-flow Edge)
Use Case: Einzelne Produktionslinie mit 10-50 Maschinen. Keine Redundanz erforderlich.
Vorteile: Einfach, wartbar, keine externe Orchestrierung nötig.
Grenzen: Single Point of Failure. Bei Ausfall des Gateways stoppt die Datenerfassung.
2. Multi-Host-Setup mit Docker Swarm
Docker Swarm verteilt Container über mehrere Hosts. Services können repliziert werden – fällt ein Host aus, startet Swarm die Container auf einem anderen Node neu.
Use Case: Multi-Linien-Fabrik mit Verfügbarkeitsanforderungen. MQTT-Broker als Cluster mit drei Knoten.
Vorteile: Service Replication, automatisches Failover, Load Balancing.
Grenzen: Komplexer als Single-Host. Erfordert Netzwerk-Overlay-Konfiguration.
3. Kubernetes für Enterprise-Scale
Kubernetes orchestriert Container auf Rechenzentrumsebene. Horizontal Scaling, Rolling Updates und Service Meshes ermöglichen hoch verfügbare UNS-Infrastrukturen.
Use Case: Globale UNS-Architektur über 20+ Standorte. Zentraler Broker-Cluster im Rechenzentrum, Edge-Gateways bridgen lokal.
Vorteile: Maximale Skalierbarkeit, ausgereiftes Ökosystem (Helm Charts, Operators).
Grenzen: Hohe Komplexität. Erfordert dedizierte DevOps/Platform-Engineering-Teams.
4. Hybrid Edge-Cloud-Architektur
Die Realität vieler Produktionsnetzwerke: Edge-Gateways mit Docker Compose für lokale Verarbeitung, Kubernetes im Rechenzentrum für zentrale Services.
Datenfluss:
- Edge-Container sammeln Daten lokal (OPC UA, Modbus)
- Sofern für den Use-Case erforderlich aggregiert ein lokaler Edge Message Broker die Nachrichten (häufig MQTT)
- Bridge sendet gefilterte Daten an zentrales NATS Broker Cluster (Kubernetes)
- Cloud-Container verarbeiten Daten (Analytics, ML-Inferenz, Langzeit-Speicherung)
Vorteil: Beste Balance für Aufwand / Nutzen, Edge-Autonomie und zentraler Auswertung.
Best Practices für Docker in OT-Umgebungen
Bei der Implementierung von Docker für IT/OT-Architekturen unterscheiden sich die Anforderungen teils erheblich von klassischen IT-Deployments. Die folgenden Best Practices adressieren OT-spezifische Herausforderungen.
Security Best Practices
- Principle of Least Privilege: Container niemals als
rootbetreiben. Images sollten einen dedizierten User definieren. Beispiel Mosquitto:USER mosquittoim Dockerfile. - Network Segmentation: Separate Docker Networks für OT- und IT-Container. Ein Dashboard-Container darf nicht im gleichen Netzwerk laufen wie ein Connector mit direktem SPS-Zugriff.
- Image Scanning: Verwenden Sie Tools wie Trivy oder Clair, um bekannte Sicherheitslücken in Images zu identifizieren – vor dem Deployment.
- Secrets Management: Keine Passwörter oder API-Keys in Images hardcoden. Nutzen Sie Docker Secrets (Swarm) oder externe Secrets-Manager (HashiCorp Vault).
- Read-Only Filesystems: Starten Sie Container mit
--read-onlyFlag, wenn möglich. Schreibzugriff nur über explizite Volumes.
Persistenz und Daten
- Volumes statt Bind Mounts: Named Volumes sind portabler und performanter.
-v mosquitto_data:/mosquitto/datastatt-v /home/user/data:/mosquitto/data. - Backup-Strategie: Automatisierte Volume-Backups über Cron-Jobs oder dedizierte Backup-Container. Kritisch für MQTT-Retained-Messages und Datenbanken.
- Retained Messages: MQTT-Broker müssen Persistenz aktiviert haben (
persistence trueinmosquitto.conf), kombiniert mit Volume-Mapping für/mosquitto/data. - Datenbank-Volumes: InfluxDB oder TimescaleDB benötigen separate Volumes. Memory-Mapped-Files profitieren von SSD-backed-Storage.
Networking
- Host Network Mode: Verwenden Sie
--network hostnur, wenn zwingend erforderlich (z.B. Multicast für OPC UA Discovery). Standardmäßig: Bridge-Netzwerke mit explizitem Port-Mapping. - Bridge Networks: Standard für Multi-Container-Setups. Container können sich über Service-Namen erreichen:
mqtt://mosquitto:1883. - Port Mapping: Exponieren Sie nur Ports, die extern erreichbar sein müssen. Interne Container-zu-Container-Kommunikation läuft über Docker-interne DNS-Namen.
- MQTT over TLS: Zertifikate via Volume mounten. Mosquitto-Config:
cafile /mosquitto/certs/ca.crt,certfile /mosquitto/certs/server.crt,keyfile /mosquitto/certs/server.key.
Ressourcen-Management
- Memory Limits: Setzen Sie
--memory 512mfür jeden Container. Verhindert Out-of-Memory-Kills auf ressourcenlimitierten Edge-Devices. - CPU Limits:
--cpus 1.5sorgt für Fair Sharing bei mehreren Containern auf einem Host. - Restart Policies:
restart: unless-stoppedfür produktive Container. Automatischer Neustart nach Host-Reboot oder Container-Crash. - Health Checks: Definieren Sie Health Checks für kritische Services. Beispiel Mosquitto:
mosquitto_sub -t '$SYS/#' -C 1prüft Broker-Verfügbarkeit.
Updates und Lifecycle
- Blue-Green Deployments: Bei kritischen Brokern: Starten Sie den neuen Container (Green) parallel zum alten (Blue), testen Sie die Funktionalität, dann Umschaltung. Zero Downtime.
- Rolling Updates: In Kubernetes:
kubectl rollout restart deployment/mosquittostartet Pods sukzessive neu – keine Unterbrechung. - Image-Versionierung: Verwenden Sie Semantic Versioning.
eclipse-mosquitto:2.0.18, nichtlatest. Reproduzierbarkeit ist wichtiger als Aktualität. - Automated Updates: Watchtower kann Container automatisch updaten – aber nur in Entwicklungsumgebungen. Produktion: manuelles Update nach Testphase.
Monitoring und Logging
- Container Logs: Zentrales Logging über ELK-Stack oder Grafana Loki. Logs bleiben erhalten, auch wenn Container gelöscht wird.
- Metrics: Prometheus Exporter für MQTT-Broker-Metriken (Verbindungen, Messages/sec, Topics). cAdvisor für Container-Ressourcen (CPU, RAM, Netzwerk).
- Health Monitoring: Docker Health Checks kombiniert mit Alerting (Prometheus Alertmanager, PagerDuty). Benachrichtigung bei Container-Restarts.
- Performance: InfluxDB-Telegraf-Grafana-Stack (TIG) für Langzeit-Monitoring. Identifiziert Performance-Degradation über Wochen.
Herausforderungen und Grenzen
Docker ist kein Allheilmittel. Bestimmte OT-Anforderungen lassen sich mit Container-Technologie nicht oder nur eingeschränkt erfüllen.
Real-Time-Anforderungen
Docker-Container laufen auf Standard-Linux-Kerneln. Das bedeutet: Prozess-Scheduling unterliegt dem Betriebssystem, nicht deterministischen Echtzeit-Garantien. Soft Real-Time (Reaktionszeiten < 100 ms) ist kein Problem – UNS-Komponenten wie MQTT-Broker oder OPC UA-Connectoren funktionieren problemlos. Hard Real-Time (< 1 ms, garantiert) erfordert RTOS oder bare-metal-Deployments.
Klarstellung: Die meisten UNS-Komponenten sind nicht echtzeitkritisch. Die Datenerfassung von einer SPS mit 100 ms Polling-Intervall profitiert von Docker, ohne RT-Anforderungen zu verletzen.
Komplexität
Docker fügt eine Abstraktionsschicht hinzu. OT-Teams, die bisher direkt auf Maschinen installiert haben, müssen Docker Compose, Volumes, Networking und Image-Management lernen. Initiale Lernkurve: 1-2 Wochen für Grundlagen, mehrere Monate für fortgeschrittene Orchestrierung.
Trade-off: Kurzfristig höhere Komplexität, langfristig deutlich reduzierter Wartungsaufwand. Ein gut konfiguriertes Docker-Setup ist wartungsärmer als manuell installierte Services.
Legacy-Systeme
Nicht alle OT-Software lässt sich containerisieren. Proprietäre Windows-Applikationen ohne Linux-Äquivalent sind problematisch. GUI-basierte SCADA-Systeme, die X11 erfordern, funktionieren in Containern nur mit erheblichem Zusatzaufwand.
Lösung: Hybride Architekturen. Legacy-Systeme bleiben bare-metal oder in VMs, neue Komponenten werden als Container deployed.
Edge-Device-Limitierungen
Alte Edge-Gateways mit 2 GB RAM oder ARM-CPUs ohne Docker-Support sind nicht Container-fähig. Docker Desktop erfordert moderne Hardware; ältere Industrie-PCs fallen durch.
Alternative: Lightweight-Container-Runtimes wie Podman (ressourcenschonender) oder balenaOS (speziell für Edge-IoT-Geräte).
Fazit
Docker für IT/OT-Architekturen ist mehr als ein Trend – es ist eine fundamentale Verbesserung der Art, wie industrielle Softwaresysteme deployed und betrieben werden. Container-Technologie löst reale Probleme: inkonsistente Laufzeitumgebungen, langwierige Updates, fehlende Modularität und mangelnde Skalierbarkeit. Drei zentrale Vorteile:
- Konsistente Deployments über Standorte hinweg: Ein
docker-compose.ymlfunktioniert in Werk 1 genauso wie in Werk 20. Keine manuellen Installationsfehler, keine Versionskonflikte. - Modulare UNS-Komponenten mit klaren Schnittstellen: MQTT-Broker, Connectoren, Datenbanken und Dashboards als isolierte Container – austauschbar, testbar, wartbar.
- Vereinfachte Updates und Wartung: Rollbacks in Sekunden, Blue-Green-Deployments ohne Downtime, zentrale Orchestrierung über hunderte Gateways hinweg.
Container-Technologie wird daher zum Standard für Edge-Deployments in Industrial IoT. Dabei ist Docker für IT/OT-Architekturen nicht die Zukunft, sondern bereits Gegenwart. Wer heute die Grundlagen legt, ist vorbereitet für die nächste Generation industrieller Softwarearchitekturen.
