Apache Tomcat ist ein Open-Source-Webserver und Servlet-Container, der von der Apache Software Foundation (ASF) entwickelt wurde.
Tomcat implementiert die Java-Servlet- und JavaServer-Pages-Spezifikationen von Oracle und stellt eine reine Java-HTTP-Webserverumgebung für die Ausführung des Java-Codes bereit.
In diesem Tutorial erfahren Sie, wie Sie Docker und Tomcat kombinieren, um eine Tomcat-„Hallo Welt“-Anwendung mit Tomcat als Container bereitzustellen.
Anforderungen:
Um die Anweisungen und den Code in diesem Tutorial erfolgreich befolgen und verwenden zu können, stellen Sie sicher, dass Sie über Folgendes verfügen:
- Installierte Docker Engine auf Ihrem Host-Computer
- Installierte Java JDK auf Ihrem Computer, um Ihren Java-Code zu testen (optional)
- Ein Texteditor zum Bearbeiten des Quellcodes und der Docker-Konfigurationen
Wenn die gegebenen Anforderungen erfüllt sind, können wir fortfahren und lernen, wie man eine Tomcat-App mit Docker bereitstellt.
Ziehen Sie das Tomcat-Image in Docker
Glücklicherweise müssen wir kein Basis-Image konfigurieren, das alle Tools zum Ausführen einer Tomcat-Anwendung enthält. Wir können einfach das Tomcat-Image vom Docker Hub verwenden.
Um das Bild abzurufen, können wir den Befehl wie folgt ausführen:
$ Docker Pull Tomcat
Erstellen Sie eine Hello World-Anwendung
Der nächste Schritt besteht darin, die Anwendung „Hello World“ zu erstellen. Erstellen Sie zunächst ein Verzeichnis zum Speichern Ihres Quellcodes und navigieren Sie in das Verzeichnis.
$ mkdir Hallo Welt && CD Hallo Welt
Erstellen Sie im Stammverzeichnis einen Webapp-Ordner und darin einen WEB-INF-Ordner.
Ihre Verzeichnisstruktur sollte so aussehen:
Hallo Welt /└── Webapp
└── WEB-INF
3 Verzeichnisse, 0 Dateien
Navigieren Sie als Nächstes in das WEB-INF-Verzeichnis und erstellen Sie eine „web.xml“-Datei mit dem folgenden Code:
< Web-App xmlns = „http://xmlns.jcp.org/xml/ns/javaee“
xmlns: xsi = „http://www.w3.org/2001/XMLSchema-instance“
xsi: SchemaLocation = „http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd“
Ausführung = „4,0“ >
< Servlet >
< Servlet-Name > Hallo Welt Servlet-Name >
< Servlet-Klasse > HelloWorldServlet Servlet-Klasse >
Servlet >
< Servlet-Mapping >
< Servlet-Name > Hallo Welt Servlet-Name >
< URL-Muster >/ Hallo URL-Muster >
Servlet-Mapping >
Web-App >
Speichern Sie die Datei und schließen Sie den Editor.
Zurück in Ihrem Terminalfenster erstellen Sie eine „HelloWorldServlet.java“ im Verzeichnis WEB-INF/classes.
$ mkdir Klassen$ berühren HelloWorldServlet.java
Fügen Sie den Inhalt der Anwendung wie folgt hinzu:
javax.servlet.http importieren. * ;
java.io importieren. * ;
Die öffentliche Klasse HelloWorldServlet erweitert HttpServlet {
öffentliche Leere doGet ( HttpServletRequest-Anfrage, HttpServletResponse-Antwort )
löst ServletException, IOException aus {
Antwort.setContentType ( „text/html“ ) ;
PrintWriter out = Response.getWriter ( ) ;
out.println ( „“ ) ;
out.println ( „
out.println ( „
out.println ( „
Hallo Welt!
“ ) ;out.println ( „