Zum Hauptinhalt springen
Version: 5.4

Installation Docker Container

Was ist Docker

Docker ist eine Softwareplattform, die es ermöglicht, Anwendungen und ihre Abhängigkeiten in isolierten Containern auszuführen. Docker bietet eine Reihe von Vorteilen für die Entwicklung, Bereitstellung und Skalierung von Software:

  • Portabilität: Docker Container können auf jeder Maschine ausgeführt werden, auf der Docker installiert ist, unabhängig vom Betriebssystem oder der Hardware.
  • Konsistenz: Docker Container stellen sicher, dass Anwendungen immer unter den gleichen Bedingungen laufen, egal ob sie lokal, in der Cloud oder auf einem anderen Server ausgeführt werden.
  • Effizienz: Docker-Container nutzen die Ressourcen der Host-Maschine optimal aus, indem sie nur das für die Anwendung Notwendige bereitstellen. Dadurch werden Speicherplatz und Energieverbrauch reduziert.
  • Sicherheit: Docker-Container isolieren die Anwendungen voneinander und vom Host-System, wodurch das Risiko von Konflikten oder Angriffen minimiert wird.

Mithilfe von Docker kann der OPC Router in jeder Umgebung betrieben werden, in der die Installation von Docker möglich ist.

Docker Installation

Um Docker zu installieren, folgen Sie den Anweisungen in der offiziellen Docker-Dokumentation für Ihre Plattform.

Um zu bestätigen, dass die Installation erfolgreich war, führen Sie den Befehl docker --version in der Eingabeaufforderung aus. Wenn Sie eine Meldung wie Docker version 20.10.22, build 3a2c30b erhalten, ist Docker einsatzbereit.

hinweis

Hinweis: Im Containerbetrieb (z.B. Docker, Kubernetes) ist die Lizensierung mit Online-Synchronisierung erforderlich, wenn dieser ohne TPM2-Modul betrieben wird.

Docker Container mit TPM2

Schnelle OPC Router Testinstallation mit Docker

Der OPC Router 5 Docker Container lässt sich zu Testzwecken schnell durch Ausführen eines einzelnen Befehls innerhalb weniger Sekunden installieren:

docker run -d -e OR_DISABLE_AUTH=true -e OR_I_ACCEPT_EULA=true --name opcrouter5 -p 8080:8080 opcrouter/runtime:latest
hinweis

Mit Ausführen des Befehls stimmen Sie durch das Setzen der Umgebungsvariable OR_I_ACCEPT_EULA auf true den Endbenutzer-Lizenzbedingungen zu.

warnung

Dieser Befehl erzeugt keine persistenten Volumes. Durch das Löschen des Containers über Docker Desktop gehen also alle Daten auf dem Container, wie z.B. konfigurierte Projekte, unwiderruflich verloren. Der Befehl ist daher nicht für den produktiven Einsatz geeignet.

Durch Ausführen des Befehls wird ein neuer Container mit dem Namen opcrouter5 erstellt. Der Port 8080 wird nach außen freigegeben, so dass das Web Management lokal unter der Adresse http://127.0.0.1:8080 erreichbar sein sollte.

Der Befehl docker container rm -f opcrouter5 stoppt und löscht den Container wieder. Die automatisch erstellten temporären Volumes des Containers, welche die Projekt- und Konfigurationsdaten enthalten, werden durch diesen Befehl nicht automatisch gelöscht.

Die OPC Router Docker Images

Der OPC Router verfügt über zwei verschiedene Images:

  • Das Runtime Image (opcrouter/runtime) enthält die OPC Router Anwendung, das Web Management sowie eine integrierte MongoDB, in der die Daten des OPC Routers wie z.B. Projekte gespeichert werden.
  • Das Service Image (opcrouter/service) enthält wie das Runtime Image die Anwendung und das Web Management, jedoch keine integrierte MongoDB. Eine MongoDB muss hier separat angebunden werden, damit die Anwendung lauffähig ist.

Empfohlenes Runtime-Deployment

Anstelle der Testinstallation wird hier ein Docker Run Befehl beschrieben, der für den produktiven Einsatz geeignet ist. Dieses Kommando kann nicht einfach kopiert und gestartet werden, sondern muss vorher angepasst werden.

docker run -d --pull always \
--name opcrouter5 \
-e OR_I_ACCEPT_EULA=false \
-e INITIAL_USERNAME=***** \
-e INITIAL_PASSWORD=***** \
-e TZ=Europe/Berlin \
-v opc-router-5-data:/data \
-v opc-router5-logs:/var/log/opcrouter \
-p 8080:8080 \
-p 8001:8001 \
-p 49420:49420 \
opcrouter/runtime:latest
warnung

Damit dieser Befehl funktioniert, müssen Sie den Endbenutzer-Lizenzvertrag akzeptieren, indem Sie die Umgebungsvariable OR_I_ACCEPT_EULA auf true setzen und einen gültigen Benutzernamen und ein gültiges Kennwort für den initialen Benutzer in den Umgebungsvariablen INITIAL_USERNAME und INITIAL_PASSWORD angeben.

Hier werden einige Argumente verwendet:

  • -d: Der Container wird als Hintergrundprozess gestartet
  • --pull always: Sorgt dafür, dass beim Ausführen des Befehls die aktuelle Version des Images heruntergeladen wird, sofern diese von einer bereits lokal vorhandenen Version abweicht
  • --name: Setzt einen eindeutigen Namen für den Container
  • -e: Setzt eine Umgebungsvariable
  • -v: Setzt ein persistentes Volume
  • -p: Veröffentlicht einen internen Port auf dem Host

Bei den Umgebungsvariablen ist zu beachten, dass wir einen initialen Benutzer mit Benutzername (INITIAL_USERNAME) und Passwort (INITIAL_PASSWORD) setzen, mit dem wir uns im Web Management anmelden können. Außerdem wird die Zeitzone eingestellt. Eine genauere Erklärung und Auflistung aller konfigurierbaren Umgebungsvariablen finden Sie hier:

Konfigurierbare Umgebungsvariablen

Für die beiden verfügbaren Mount-Pfade werden persistente Volumes angelegt, sodass Daten auf dem Container, wie z.B. die Projektstruktur, Projekt-Backups, Log-Dateien, etc. erhalten bleiben, wenn wir den Container löschen und einen neuen Container mit den gleichen Volumes anlegen. Eine genauere Erklärung der verfügbaren Mount-Pfade finden Sie hier:

Mount-Pfade