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:
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 Unterverzeichnissrc/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