Bereitstellung von Tomcat-Webanwendungen in Docker-Containern
Die Bereitstellung einer Tomcat-Webanwendung in einem Docker-Container umfasst mehrere Schritte, darunter das Erstellen eines benutzerdefinierten Docker-Images, die Konfiguration der Anwendung und die Ausführung des Containers. In diesem Abschnitt führen wir Sie durch den Prozess der Bereitstellung einer Tomcat-Webanwendung in einem Docker-Container.
Erstellen eines benutzerdefinierten Tomcat Docker-Images
Um eine Tomcat-Webanwendung in einem Docker-Container bereitzustellen, müssen Sie ein benutzerdefiniertes Docker-Image basierend auf dem offiziellen Tomcat-Image erstellen. Hier ist ein Beispiel-Dockerfile:
FROM tomcat:9.0-jdk11
## Kopieren der Webanwendung in das Tomcat-Verzeichnis webapps
COPY target/my-web-app.war /usr/local/tomcat/webapps/
## Kopieren der Tomcat-Benutzerkonfigurationsdatei
COPY tomcat-users.xml /usr/local/tomcat/conf/
## Exponieren des Tomcat-Ports
EXPOSE 8080
## Starten von Tomcat
CMD ["catalina.sh", "run"]
In diesem Beispiel starten wir mit dem offiziellen Tomcat 9.0-Image mit JDK 11, kopieren die Webanwendungs-WAR-Datei und die Konfigurationsdatei tomcat-users.xml
in die entsprechenden Verzeichnisse und exponieren den Tomcat-Port (8080). Schließlich starten wir den Tomcat-Server mit dem Befehl catalina.sh run
.
Ausführen der Tomcat-Webanwendung in einem Docker-Container
Nachdem Sie das benutzerdefinierte Tomcat Docker-Image erstellt haben, können Sie die Tomcat-Webanwendung in einem Docker-Container ausführen. Hier ist ein Beispielbefehl:
docker run -d -p 8080:8080 --name my-tomcat-app my-tomcat-image
Dieser Befehl führt die Tomcat-Webanwendung im detachierten Modus (-d
) aus und ordnet den Port 8080 des Containers dem Port 8080 des Hosts zu (-p 8080:8080
). Die Option --name
weist dem Container einen Namen zu, und der letzte Parameter gibt den Namen des benutzerdefinierten Tomcat Docker-Images an.
Nach der Ausführung des Containers können Sie auf die Tomcat-Webanwendung zugreifen, indem Sie einen Webbrowser öffnen und zu http://localhost:8080/my-web-app
navigieren.
graph TD
A[Entwickler] --> B[Benutzerdefiniertes Tomcat Docker-Image erstellen]
B --> C[Tomcat-Webanwendung im Docker-Container ausführen]
C --> D[Zugriff auf Tomcat-Webanwendung]
In diesem Abschnitt haben Sie gelernt, wie Sie eine Tomcat-Webanwendung in einem Docker-Container bereitstellen, einschließlich des Erstellens eines benutzerdefinierten Docker-Images und der Ausführung des Containers. Durch die Befolgung dieser Schritte können Sie eine konsistente und zuverlässige Bereitstellung Ihrer Tomcat-basierten Webanwendungen gewährleisten.