Installation unter Verwendung des Docker-Images

1. DockerDesktop von „https://www.docker.com/products/docker-desktop/“ herunterladen und installieren.

2. Dockerfile (Download) herunterladen und speichern in einem Unterordner „qhmiruntime“ .

3. In das Verzeichnis wechseln, in dem das Unterverzeichnis „qhmiruntime“ liegt.  

4. Erstellen des Containers über docker build mit folgender Syntax: docker buildx build [Namen des Ordners mit dem dockerfile] -t [Namen der Instanz] 

docker buildx build qhmiruntime -t qhmi_lynx

5. Für die Erstellung werden einige Schritte wie das Herunterladen der Basis (hier Ubuntu), das Aktualisieren des Systems und die Installation von Zusatzkomponenten sowie der Dateien für die Laufzeit von QuickHMI durchgeführt. Dieser Schritt kann je nach Systemumgebung bis zu 10 Minuten dauern. 

6. Neue Instanz des Containers erstellen und starten: 

docker run -d -p 2222:22 -p 6068:6068 qhmi_lynx

7. Bei der Erstellung oder Ausführung eines Containers werden nicht alle Ports zur Außenwelt weitergegeben, deswegen wird mittels der Option „-p“ ein Mapping der Ports des Containers mit dem Hostsystem erzeugt. In unserem Beispiel wird der Port 2222 des Docker Host auf den Port 22 des Containers und der Port 6068 auf den Port 6068 des Hosts gemappt. 

Hinweis: Beachten Sie, dass der hier verwendete Port 6068 der Standardport für QuickHMI Lynx Projekte ist. Sollten Sie einen anderen Port für Ihr Projekt konfiguriert haben, oder mehrere Projekte in diesem Container veröffentlichen wollen, müssen die Ports entsprechend mit angegeben werden.

8. Mit docker ps kann geprüft werden, ob der Container läuft und welche Ports nach außen gegeben werden. 

9. Zugriff auf den laufenden Container mit ssh: Port 2222, Benutzer „root“ mit Passwort „root123“. Die Übertragung von Dateien ist am einfachsten mit dem Tool „WinSCP“. 

10. Mit docker stop [ContainerID] kann der Container gestoppt werden, mit docker start [ContainerID] dementsprechend gestartet. Statt der ID des Container kann auch der Name des Containers verwendet werden, die automatische Benennung kann mit der Option  „–name“ erfolgen. Die Definition eines Namens kann eine praktische Möglichkeit sein, einem Container eine Bedeutung zu verleihen.  

11. Um die Ports zu ändern oder zu ergänzen, können Sie den Container mit docker stop [container_name] anhalten, dann mit docker rm [container_name] entfernen und schließlich mit dem Befehl docker run (wie oben beschrieben) einen neuen Container mit den aktualisierten Port-Zuordnungen starten.