Detaillierte Erläuterung des Problems des unendlichen Neustarts beim Ausführen der Docker-Umgebung des SpringBoot-Projekts

Detaillierte Erläuterung des Problems des unendlichen Neustarts beim Ausführen der Docker-Umgebung des SpringBoot-Projekts

Vielleicht habe ich angefangen, falsch zu denken, und meine Beschreibung des Problems ist vielleicht ein wenig chaotisch, aber ich hoffe, dass die möglichen Lösungen hier anderen helfen können, die in die gleiche Falle tappen wie ich.

Beschreibung: Das Springboot-Projekt wird im Docker-Image ausgeführt. Wenn man sich das Docker-Protokoll ansieht, wird das Projekt nach dem erfolgreichen Start nach etwa einer Minute automatisch neu gestartet, was dazu führt, dass nginx beim Zugriff auf die Website-Schnittstelle ein 502-Gateway oder etwas Ähnliches meldet. Es gibt zwei Server, einer ist ein Dateiserver, auf dem sehr einfacher Code zum Hoch- und Herunterladen von Dateien und Überprüfen von Token ausgeführt wird, und der andere führt eine Java-Anwendung aus. Beide Server aktualisieren das Projekt-Image gleichzeitig. Nach dem Ausführen tritt dieses Problem auf, was sehr seltsam ist.

Anschließend habe ich das Projekt in ein Jar-Paket gemacht und es mit java -jar xxx.jar direkt im Anwendungsserver ausgeführt. Dann blieb es an einigen Stellen hängen und konnte nicht weiter gestartet werden, oder es zeigte an, dass es beendet wurde.

Bild A

Wir vermuteten, dass der Projektspeicher verloren ging und der Prozess vom System beendet wurde. Daher wechselten wir zum vorherigen Docker-Image und das Ergebnis war dasselbe. Wir vermuteten, dass sich die Nginx-Konfiguration geändert hatte, aber es funktionierte immer noch nicht. Dann wechselten wir zu unserem eigenen Alibaba Cloud-Server, um das neueste Image auszuführen, und es gab kein Problem. Es war völlig normal. Das Ausführen des JAR-Pakets in Alibaba Cloud war ebenfalls normal. Wir vermuteten also, dass sich das System geändert haben könnte und dieses Problem verursachte. Also haben wir uns oben umgesehen und festgestellt

Die CPU-Auslastung ist zu hoch. Es gibt einen unbekannten Prozess, der sehr ungewöhnlich ist. Ich habe auf Baidu gesucht und herausgefunden, welchen Befehl dieser Cornd regelmäßig ausführt, also habe ich versucht, das Problem zu lösen. (PS: Und das wurde nicht von uns installiert, und wir haben das in der Online-Umgebung nie gemacht)

Überprüfen Sie zuerst den Status: systemctl status crond

Dann sehen Sie, welche Befehle konfiguriert sind: crontab -e

Ich habe die 0 geändert. Vorher war es *. Ich habe es auf 0 geändert, dann gespeichert und beendet.

Stoppen Sie dann den Dienst: systemctl stop crond

Überprüfen Sie abschließend top. Wenn der Prozess noch existiert, beenden Sie ihn direkt und löschen Sie ihn anschließend mit ojb. Das ist ein Mist. Ich habe einen halben Tag gebraucht, um das herauszufinden.

Dies ist das Ende dieses Artikels über das Problem des unendlichen Neustarts beim Ausführen in der Docker-Umgebung des SpringBoot-Projekts. Weitere verwandte Inhalte zum unendlichen Neustart des SpringBoot-Dockers finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, Sie werden 123WORDPRESS.COM in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detailliertes Tutorial zum Ausführen mehrerer Springboot mit Docker
  • So führen Sie das Springboot-Projekt im Docker aus
  • Implementierung eines laufenden Springboot-Projekts mit Docker

<<:  So verwenden Sie async await elegant in JS

>>:  Zusammenfassung wichtiger MySQL-Protokolldateien

Artikel empfehlen

MySQL kann tatsächlich verteilte Sperren implementieren

Vorwort Im vorherigen Artikel habe ich Ihnen anha...

Einrichten von VMware vSphere in VMware Workstation (Grafisches Tutorial)

VMware vSphere ist die branchenführende und zuver...

Vues Leitfaden zu Fallstricken bei der Verwendung von Drosselungsfunktionen

Vorwort In einem üblichen Geschäftsszenario müsse...

Deaktivieren der AutoVervollständigen-Funktion im Eingabefeld

Jetzt können wir ein Eingabeattribut namens „Autov...

Eine kurze Analyse des Zustandsverständnisses von React

Wie definiert man komplexe Komponenten (Klassenko...

Eine kurze Erläuterung der Rolle des Parameters docker --privileged=true

Mit etwa Version 0.6 wurde Privileged in Docker e...

Tutorial zu den Grundlagen von JavaScript und JQuery Framework

Inhaltsverzeichnis 1. JS-Objekt DOM –1, Funktion ...