Ein Beispiel für die schnelle Bereitstellung von Webanwendungen mit Tomcat in Docker

Ein Beispiel für die schnelle Bereitstellung von Webanwendungen mit Tomcat in Docker

Nachdem wir die grundlegenden Vorgänge von Docker kennengelernt haben, können wir versuchen, einige grundlegende Anwendungen in unserem Container bereitzustellen.

In diesem Artikel sprechen wir darüber, wie man schnell eine Webanwendung in Docker bereitstellt.

Zunächst muss Docker auf dem Computer installiert sein. Wenn es nicht installiert ist, verwenden Sie den Befehl yum install -y docker, um es zu installieren.

yum install -y Docker

Da wir eine Webanwendung bereitstellen, ist Tomcat natürlich unverzichtbar, daher sollten wir zuerst das Tomcat-Image abrufen. Der Befehl lautet wie folgt

Docker zieht Tomcat

Dieses Bild ist etwas groß, daher können Sie es vorab abrufen, um Zeit zu sparen.

Als nächstes verwenden wir das Tomcat-Image, um einen Container zu starten

docker run -it --name webdemo -p 80:8080 tomcat /bin/bash

Hier starten wir einen interaktiven Container namens webdemo. -p 80:8080 bedeutet, dass Port 8080 des Containers dem Port 80 des Hosts zugeordnet wird. Auf diese Weise können wir auf den Containerdienst zugreifen, indem wir auf Port 80 des Hosts zugreifen.


Nachdem der Container erstellt wurde, betreten wir den Container und können dann einen Blick auf die interne Dateistruktur werfen. Dort befindet sich eine Webapps-Datei. Wir müssen unsere Webanwendung nur im Format eines War-Pakets speichern und dann in diese Datei kopieren. Weil Tomcat das War-Paket automatisch für uns dekomprimiert und bereitstellt.

Wie kopiere ich Dateien vom Host in den Container?

Da sich mein bisheriges Terminal im Container befand, habe ich hier ein zweites Terminal zum Betrieb eröffnet. Ich habe meine War-Paketdatei im Verzeichnis /mnt/ abgelegt.


Vom Host in den Container kopieren sudo docker cp host_path containerID:container_path

Vom Container zum Host kopieren sudo docker cp containerID:container_path host_path

Der Befehl, den wir hier verwenden, ist:

docker cp /mnt/webdemo.war a2f2091a661fa51e02c0be54f252fc46fc604932526b17038ccc267affcef12c:/usr/local/tomcat/webapps

Die lange Zeichenfolge ist die Container-ID. Überprüfen Sie sie selbst. Der Pfad dahinter ist der interne Pfad des Containers. Wenn du den wirklich nicht verstehst, kannst du ihn kopieren. Dabei bitte beachten: Nach dem Doppelpunkt kommt kein Leerzeichen. Ich hatte davor ein Leerzeichen und konnte es nicht kopieren.

Der nächste Schritt besteht darin, Tomcat zu starten.

Das War-Paket wurde in den Container importiert. Jetzt können wir zum ersten Terminal gehen, um es zu überprüfen.


Sie können sehen, dass das Kriegspaket importiert wurde. Allerdings ist der Tomcat-Dienst zu diesem Zeitpunkt noch nicht gestartet. Starten wir den Tomcat-Dienst und lassen uns von Tomcat beim Dekomprimieren und Bereitstellen des War-Pakets unterstützen.


Hier gehen wir in das Bin-Verzeichnis und führen die Datei catalina.sh im Verzeichnis aus, damit Tomcat ausgeführt wird und Tomcat im Frontend ausgeführt wird, weshalb ich das zweite Terminal geöffnet habe.

Schließlich können wir den Effekt im Browser betrachten:


Diese Seite dient nur zu Demonstrationszwecken. Sie können sie also ausprobieren, wenn Sie andere kleine Anwendungen haben!

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Implementierung der Docker-Bereitstellung von Tomcat- und Webanwendungen
  • Detaillierte Erläuterung der automatischen Docker-Bereitstellung von Tomcat
  • Detaillierte Schritte zum Bereitstellen von Tomcat- und Java-Anwendungen in Docker
  • Verwenden Sie Docker, um Tomcat bereitzustellen und eine Verbindung zu Skywalking herzustellen

<<:  Vue + Canvas realisiert den Effekt der Aktualisierung des Wasserfalldiagramms von oben nach unten in Echtzeit (ähnlich wie QT).

>>:  Detaillierte Erläuterung des MySQL Master-Slave-Replikationsprozesses

Artikel empfehlen

Lernen wir JavaScript objektorientiert kennen

Inhaltsverzeichnis JavaScript-Prototypenkette Obj...

Vue implementiert Pulldown, um mehr zu laden

Entwickler, die mit Element-UI vertraut sind, hab...

Warum wird die MySQL-Paging-Funktion bei Verwendung von Limits immer langsamer?

Inhaltsverzeichnis 1. Testexperiment 2. Leistungs...

Einstellungen für den Ubuntu-Boot-Autostart-Dienst

So erstellen Sie einen Dienst und starten ihn aut...

Docker-Container: benutzerdefinierter Host-Netzwerkzugriffsvorgang

Durch Hinzufügen des Schlüsselworts extra_hosts i...

Detaillierte Erläuterung der häufig verwendeten Filter von Tomcat

Inhaltsverzeichnis 1. Domänenübergreifender Filte...

MySQL-Installationstutorial unter Centos7

Tutorial zur MySQL-Installation. Zu Ihrer Informa...

Lösung für „Ubuntu kann keine Verbindung zum Netzwerk herstellen“

Effektive Lösung für Ubuntu, wenn in einer virtue...

TimePicker im Element deaktiviert einen Teil der Zeit (deaktiviert auf Minuten)

Die Projektanforderungen lauten: Datum und Uhrzei...

Best Practices-Handbuch zum Speichern von Daten in MySQL

Inhaltsverzeichnis Vorwort Verwenden Sie keine Ze...