Um War mit Docker bereitzustellen, müssen Sie einen Container verwenden. Wir verwenden den Tomcact-Container. Tatsächlich legen wir das War-Paket einfach in das Webapps-Verzeichnis von Tomcat ab. Wenn Tomcat gestartet wird, wird das War-Paket automatisch dekomprimiert. Eine Möglichkeit besteht darin, das Tomcat-Container-Image in Docker zu installieren und dann das War-Paket in Webapps unter dem Tomcat-Image abzulegen. Wenn Tomcat jedoch geschlossen wird, verschwindet das Paket unter seinen Webanwendungen. Die zweite Möglichkeit besteht darin, die Bereitstellung zu verwenden und trotzdem das Image des Tomcat-Containers zu installieren, das War-Paket jedoch nicht in den Webanwendungen unter Tomcat abzulegen. Erstellen Sie direkt einen externen Ordner und verknüpfen Sie diesen externen Ordner mit Wabapps, sodass die Webanwendungen von Tomcat, wenn War in den neu erstellten Ordner abgelegt wird, auch das bereitgestellte War-Paket lesen können. 1. Installieren und starten Sie das Tomcat-Image 1. Suchen Sie unter Docker nach dem Tomcat-Image, vorausgesetzt, Docker befindet sich im gestarteten Zustand. Ich werde hier nicht erklären, wie Docker gestartet wird und wie es so eingestellt wird, dass es automatisch gestartet wird. Docker-Suche Tomcat 2. Laden Sie Docker nach Namen herunter und ziehen Sie docker.io/tomcat 3. Starten Sie Tomcat docker run -d -p 8088:8080 docker.io/tomcat -d bedeutet Ausführung im Hintergrund, -p bedeutet Portzuordnung, der vordere 8088 ist der externe Zugriffsport (d. h. der Port, der durch die lokale IP für die Außenwelt geöffnet wird) und der hintere 8080 ist der Port innerhalb des Docker-Containers. 4. Durchsuchen Sie, um zu sehen, ob Tomcat gestartet ist 3. Wandeln Sie das Springboot-Projekt in ein War-Package-Projekt um Ich bin es gewohnt, Springboot zu verwenden, und es ist mühsam, ein War-Paketprojekt zu erstellen. Also habe ich ein neues Springboot-Projekt erstellt und es dann in ein War-Projekt geändert. Wenn Sie bereits ein War-Paketprojekt haben, können Sie diesen Schritt überspringen. 1. Erstellen Sie ein Springboot-Projekt. Darüber werde ich nicht sprechen. Wenn Sie es brauchen, können Sie meinen anderen Blog lesen: Erstellen und verwenden Sie SpringBoot ganz einfach 2. Ändern Sie die Datei pom.xml 2.1 Ändern Sie das Glas in Krieg 2.2 Entfernen Sie den eigenen Tomcat des integrierten Webmoduls 2.3 Fügen Sie eine Servlet-Abhängigkeit hinzu, da sonst beim Verpacken ein Fehler auftritt <Abhängigkeit> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </Abhängigkeit> 2.4 Fügen Sie dem Projekt einen Alias hinzu. Fügen Sie finalName unter dem Build-Tag hinzu, also den Projektnamen. Wenn Sie es nicht hinzufügen, ist der Projektname Ihre Artefakt-ID-Version und der Name des generierten War-Pakets ist ebenfalls Artefakt-ID-Version.war. Der Projektname wäre zu lang, wenn er über einen Browser aufgerufen würde. Dieser Schritt hängt von den persönlichen Vorlieben ab 3. Ändern Sie die Startklasse. Die Startklasse erbt SpringBootServletInitializer 4. Legen Sie das Kriegspaket unter die Webapps des Tomcat-Containers und starten Sie das Kriegspaket 1. Erstellen Sie einen Ordner, in dem das hochgeladene War-Paket gespeichert wird. Ich habe es im Stammverzeichnis abgelegt/ mkdir warPackage und übertragen Sie die Datei dann in dieses Verzeichnis 2. Kopieren Sie das War-Paket in das Webapps-Verzeichnis des Tomcat-Containers 2.1. Sie müssen die Container-ID des laufenden Tomcat-Containers kennen und Docker PS ausführen 2.2. Kopieren Sie das War-Paket in das Webapps-Verzeichnis des Tomcat-Containers. Das Befehlsformat lautet: docker cp xxx.war Paketpfad Container-ID:/zu kopierender Verzeichnispfad docker cp /warPackage/dockerProject.war e591e16899c6:/usr/local/tomcat/webapps 2.3. Überprüfen Sie, ob es kopiert wurde Geben Sie den Tomcat-Container in Docker ein: docker exec -it e591e16899c6 /bin/bash Verlassen Sie den Container: exit 3. Starten Sie den Container neu: Docker-Neustart + Container-ID 4. Der Browser-Zugriffspfad lautet: der Port, auf den Sie gerade zugegriffen haben: Projektname/Schnittstellenname. Mein Projektname ist dockerProject. Docker ist ein einfacher Controller, den ich geschrieben habe. 5. Starten Sie das War-Paket über das Mount-Verzeichnis Beim Mounten wird ein separates Verzeichnis auf dem Server erstellt und dann dem Pfad der Webanwendungen unter Tomcat zugeordnet, damit Tomcat Dateien im externen Ordner lesen kann. 1. Um Ärger zu vermeiden, verwende ich direkt den oben erstellten Ordner /warPackage 2. Mounten Sie das Verzeichnis, führen Sie den Tomcat-Container aus und stellen Sie ihn auf automatischen Neustart ein: --restart=always docker run -d -p 8088:8080 -v /warPackage/:/usr/local/tomcat/webapps --restart=immer docker.io/tomcat Wenn Sie dann das Tomcat-Verzeichnis aufrufen, können Sie sehen, dass es sich bereits unter Webapps befindet 3. Browserzugriff Dies ist das Ende dieses Artikels über die Verwendung von Docker zum Bereitstellen von War-Paketprojekten. Weitere relevante Inhalte zur Bereitstellung von War-Paketen über Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Lösen Sie das Problem der Kombination von AND und OR in MySQL
>>: Eine elegantere Methode zur Fehlerbehandlung in JavaScript async await
Wenn wir den Inhalt einer archivierten oder kompr...
Vorwort Das Transaktionsdatenwörterbuch und das a...
#!/bin/bash #SVN herunterladen yum -y installiere...
Effektbild: Der Implementierungscode lautet wie f...
Inhaltsverzeichnis 1. Speichermodell und Laufzeit...
Der folgende Fehler wird gemeldet, wenn MySQL meh...
Die dekomprimierte Version von mysql5.7.18 starte...
Dieser Artikel soll als Ausgangspunkt für Diskuss...
1. Einleitung Container nutzen einen Sandbox-Mech...
Inhaltsverzeichnis 1. Docker installieren 2. Zieh...
Inhaltsverzeichnis 1. Kommentare zu MySQL-Primärs...
Inhaltsverzeichnis Globale Variable „globalData“ ...
In diesem Artikel wird der spezifische Code von j...
Allgemeine Kommentare in HTML: <!--XXXXXXXX--&g...
Sie können dieses Logo lokal als .rar-Datei speic...