Tutorial zum Bereitstellen eines Springboot-Pakets in einer Linux-Umgebung mithilfe von Docker

Tutorial zum Bereitstellen eines Springboot-Pakets in einer Linux-Umgebung mithilfe von Docker

Da Springboot über einen integrierten Tomcat-Server verfügt, kann es direkt nach dem Verpacken in ein JAR-Paket ausgeführt werden.

Schauen wir uns zunächst die Paketbereitstellung in der Windows-Umgebung an

1. Installieren und verpacken

2. Überprüfen Sie, ob das Projekt-JAR-Paket im Zielverzeichnis vorhanden ist

Bildbeschreibung hier einfügen

3. Wenn das JAR-Paket des Projekts bereits vorhanden ist, können Sie es direkt ausführen (wie bereits erwähnt, kann das Springboot-Paket direkt ausgeführt werden).

Bildbeschreibung hier einfügen

4. Verwenden Sie den Befehl java -jar im DOS-Befehlsfeld

java -jar springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar 

Bildbeschreibung hier einfügen

Starteffekt:

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Kein Fehler, Start erfolgreich!

Oben geht es um die Bereitstellung des Springboot-Pakets auf dem Windows-System. Kommen wir zum Punkt.

Verwenden Sie Docker, um Pakete im Linux-System bereitzustellen.

1. Zuerst müssen Sie eine Dockerfile-Datei vorbereiten. Der Inhalt der Datei ist wie folgt:

# Geben Sie das Basis-Image an FROM java:8
# Informationen zum Betreuer MAINTAINER lbl
# Anonymes Volume VOLUME /tmp definieren
#Kopieren Sie die Datei oder ändern Sie den Namen ADD springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar app.jar
# Erlaube den angegebenen Port EXPOSE 8087
EINSTIEGSPUNKT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

Dateianalyse

Bildbeschreibung hier einfügen

Erklären Sie diese Konfigurationsdatei:

VOLUME gibt das temporäre Dateiverzeichnis als /tmp an. Der Effekt besteht darin, dass eine temporäre Datei im Verzeichnis /var/lib/docker des Hosts erstellt und mit /tmp des Containers verknüpft wird. Dieser Schritt ist optional, aber erforderlich, wenn die Anwendung ein Dateisystem beinhaltet. Das Verzeichnis /tmp wird verwendet, um im Docker-Datenordner zu bleiben, da der von Spring Boot verwendete eingebettete Tomcat-Container standardmäßig /tmp als Arbeitsverzeichnis verwendet. Die JAR-Datei des Projekts wird dem Container als „app.jar“ hinzugefügt.
ENTRYPOINT Führen Sie das Projekt app.jar aus. Um die Startzeit von Tomcat zu verkürzen, fügen Sie eine Systemeigenschaft hinzu, die auf "/dev/./urandom" als Entropiequelle verweist.

Wenn es das erste Mal verpackt wird, wird das Java 8-Image automatisch als Basis-Image heruntergeladen und beim Erstellen zukünftiger Images nicht erneut heruntergeladen.

2. Legen Sie die Dockerfile-Datei und das JAR-Paket des Springboot-Projekts in denselben Ordner

Bildbeschreibung hier einfügen

3. Dann beginnen Sie mit der Bildbearbeitung

Docker-Build -t Springboot-Docker.

Verwenden Sie docker images um zu überprüfen, ob das Image generiert wurde

Docker-Bilder

Bildbeschreibung hier einfügen

5. Konfigurieren Sie das Springboot-Projekt und starten Sie den Container

docker run -d -p 8087:8087 8493c1f0592c

Der Parameter -d ermöglicht die Ausführung des Containers im Hintergrund
-p dient zur Portzuordnung. In diesem Fall wird Port 8080 im Server Port 8087 im Container zugeordnet (der im Projekt konfigurierte Port ist 8087). Der Port verwendet die IMAGE-ID des Bildes.

6. Überprüfen Sie abschließend mit docker ps -a , ob es gestartet wurde.

Docker ps -a 

Bildbeschreibung hier einfügen

Inbetriebnahme erfolgreich! !

Dies ist das Ende dieses Artikels über die Verwendung von Docker zum Bereitstellen von Springboot-Paketen in einer Linux-Umgebung. Weitere Informationen zum Bereitstellen von Springboot-Paketen mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Problem mit der Konfigurationsdatei für mehrere Module und mehrere Umgebungen in Springboot (dynamische Konfiguration der Produktions- und Entwicklungsumgebung)
  • Detaillierte Schritte zum Erstellen einer SSM-Entwicklungsumgebung basierend auf SpringBoot in IntelliJ IDEA
  • Zusammenfassung der Kenntnisse zur SpringBoot-Umgebungskonfiguration
  • Verwenden Sie Tomcat, um das SpringBoot-War-Paket in einer CentOS-Umgebung bereitzustellen
  • Clevere Verwendung von Profilen in Springboot YML (Multi-Environment-Konfiguration für Anfänger)
  • Detaillierte Erläuterung der Konfiguration der SpringBoot+Docker-Umgebungsvariablen
  • Detailliertes Tutorial zum Erstellen einer Springboot-Selenium-Webseitendatei in einer Image-Umgebung
  • Springboot-Umschaltmethode für mehrere Umgebungen
  • Aufbau der SpringBoot-Umgebung und Ausführen des ersten Programms (Tutorial für Anfänger)
  • Matplotlib-Visualisierung mit benutzerdefinierten Farben zum Zeichnen schöner statistischer Diagramme

<<:  Vue importiert Echarts, um ein Linienstreudiagramm zu realisieren

>>:  Über 40 schöne Beispiele für Webformular-Designs

Artikel empfehlen

So installieren Sie MySQL 5.7 aus dem Quellcode in einer CentOS 7-Umgebung

Dieser Artikel beschreibt, wie MySQL 5.7 aus dem ...

Neun erweiterte Methoden zur Deduplizierung von JS-Arrays (erprobt und effektiv)

Vorwort Die allgemeinen Methoden sind hier nicht ...

MySQL-String-Splitting-Beispiel (String-Extraktion ohne Trennzeichen)

String-Extraktion ohne Trennzeichen Fragenanforde...

Anweisungen zur Verwendung des HTML-Tags dl dt dd

Grundaufbau: Code kopieren Der Code lautet wie fol...

So aktualisieren Sie https unter Nginx

Kaufzertifikat Sie können es beim Cloud Shield Ce...

Vue implementiert eine kleine Formularvalidierungsfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Tiefgreifendes Verständnis der Matching-Logik von Server und Standort in Nginx

Server-Abgleichlogik Wenn Nginx entscheidet, in w...

7 Fähigkeiten, die großartige Grafikdesigner beherrschen müssen

1》Seien Sie gut im Webdesign 2》Wissen, wie man Web...

JavaScript implementiert eine Warteschlange mit doppeltem Ende

In diesem Artikelbeispiel wird der spezifische Co...

MySQL-Datenbankoptimierung: Indeximplementierungsprinzip und Nutzungsanalyse

Dieser Artikel veranschaulicht anhand von Beispie...