Docker-Image bauen und deployen

Sobald man eine neue Applikation angelegt hat, gibt es die Möglichkeit diese in einen Dockercontainer zu verpacken und zu starten oder an eine Registry auszuliefern.
Hierzu sind die folgenden Schritte nötig:

Windows:

Vorraussetzungen:

Windows 10, Version 2004 und höher (Build 19041 und höher), oder Windows 11

Docker für Windows ist problematisch in der Bedienung über die Kommandozeile und die native Linuxapplikation von Docker lässt sich unter WSL nicht verwenden.

Wir empfehlen daher unter Windows Podman zu verwenden.
Entweder installiert man die native Linux App unter einer Ubuntu/Debian WSL oder aber man folgt der offiziellen Anleitung für Windows, siehe nächster Abschnitt.

Linux|MacOS|Windows(WSL):

Vorraussetzungen:

Bitte beachten sie die unter diesem Link aufgeführte Tabelle mit den Vorraussetzungen für Docker unter Linux:
https://docs.docker.com/engine/install/#server

Docker oder Podman installieren:

Je nach Distribution und Version des verwendeten Linux sind andere Schritte zur Installation nötigt.
Bitte beachten Sie dazu die Installationsanleitungen auf den entsprechenden Herstellerseiten:

Hinweis:
Docker unter Linux bedarf entweder die Voranstellung des Befehls sudo
oder die Zugehörigkeit zur Gruppe docker.
Um Docker ohne sudo zu verwenden führt man folgende Befehle aus und startet anschließend den PC (oder die WSL) neu:

sudo groupadd docker
sudo usermod -aG docker $USER

Container bauen:

Nach dem Schritt Neue TopLogic-App erstellen findet sich im Projektordner der neuen App ein Unterverzeichnis
src/main/docker mit drei Dateien:

  • createDocker.sh
    • Script zum Bauen eines Containers, Hilfe mit Parameter -h
  • BuildParameters
    • Enthält Parameter für den Container wie z.B. Startoptionen und Datenbankeinstellungen. Ausführliche Beschreibungen der Parameter entnehmen Sie bitte der Datei selbst.
  • Dockerfile_template
    • Vorlage für die Docker-Konfigurationsdatei. Wird vom Script benötigt, kann ebenfalls angepasst werden. Siehe dazu: Dockerfile reference

Mit chmod +x createDocker.sh das Script ausführbar machen.

Ohne weitere Anpassungen kann das Script mit ./createDocker.sh ausgeführt werden.
Dabei wird zuerst der Schritt WAR bauen ausgeführt, anschließend wird ein Docker Container mit dem namen "toplogic" gebaut und lokal gestartet.
In der Konsole wird die Logausgabe des Webservers angezeigt, ein Webbrowser mit der neuen App öffnet sich automatisch.
Wird die Konsole geschlossen oder der Prozess mit strg + c unterbrochen, so wird die App wieder beendet. Mit folgendem Befehl wird die Anwendung wieder gestartet:

docker start toplogic
podman start toplogic