Docker-Fehler 1. Überprüfen Sie die Ursache
2. Fehlerursache
Zusatzwissen: Probleme bei der Installation und Ausführung von ElasticSearch mit Docker! Nachdem ich Version 6.4.3 von ES erstellt hatte, startete ich sie und stellte fest, dass ES nach einer Weile automatisch beendet wurde. Der Grund scheint zu sein, dass der von ES zugewiesene Standardspeicher zu groß ist. Der Prozess wurde automatisch beendet. Lassen Sie mich diesen Abgrund also unten aufzeichnen: Fehler beim Ausführen der Testmethode unter Verwendung des ES-Tool-Klassenindex
Es wurde festgestellt, dass das mit SpringBoot 2.x importierte ES-Paket nicht mit der auf Docker installierten ES-Version kompatibel ist. Das in SpringBoot 2.1.3 eingeführte Spring-Data-ES-Paket ist: 3.1.5 Die von Docker installierte ES-Version ist: 5.6.12 Schauen Sie sich die offizielle Dokumentation zur Anpassungsbeziehung an: Es wurde festgestellt, dass 3.1.X ES Version 6.2.2 oder höher erfordert Das in meinem Projekt integrierte ES Jar-Paket ist 6.4.3 Dann installieren wir ES Version 6.4.3 in Docker Wir verwenden das offizielle Docker China-Image zur Beschleunigung von:
Nach dem Download erstellen wir einen Container und starten diesen: //Alle lokalen Bilder auflisten# Docker-Bilder REPOSITORY TAG BILD ID ERSTELLT GRÖSSE registry.docker-cn.com/library/rabbitmq 3-management 92682ab7dca0 vor 12 Tagen 212 MB registry.docker-cn.com/library/elasticsearch 6.4.3 01e5bee1e059 vor 4 Monaten 795 MB registry.docker-cn.com/library/elasticsearch latest 5acf0e8da90b vor 5 Monaten 486 MB Da der der ES-Version nach 5.0 zugewiesene Standardspeicher 2 GB beträgt, wird beim Erstellen von Docker 1 GB benötigt. Daher können wir die Umgebungsvariablen in den Parametern festlegen: Sie können auch die entsprechende jvm.options-Konfiguration ändern Wir erstellen ein ES mit 6.4.3
Anschließend stoppte der ES-Container automatisch, nachdem die folgende Situation eintrat. : Warnung für OpenJDK 64-Bit-Server-VM: Die Option UseConcMarkSweepGC wurde in Version 9.0 verworfen und wird wahrscheinlich in einer zukünftigen Version entfernt. [2019-03-06T03:29:17,534][INFO ][oenNode ] [] Initialisierung ... [2019-03-06T03:29:17,680][INFO ][oeeNodeEnvironment ] [gV0jbyu] verwendet [1] Datenpfade, Mounts [[/ (rootfs)]], Netto nutzbarer_Speicherplatz [13,6 GB], Netto Gesamtspeicherplatz [16,9 GB], Typen [rootfs] [2019-03-06T03:29:17,681][INFO ][oeeNodeEnvironment ] [gV0jbyu] Heap-Größe [247,6 MB], komprimierte Zeiger für gewöhnliche Objekte [true] [2019-03-06T03:29:17,690][INFO ][oenNode ] [gV0jbyu] Knotenname abgeleitet von Knoten-ID [gV0jbyuBSrmiqJJ8p524XA]; setze [node.name] zum Überschreiben [2019-03-06T03:29:17,691][INFO ][oenNode ] [gV0jbyu] Version[6.4.3], PID[1], Build[Standard/tar/fe40335/2018-10-30T23:17:19.084789Z], Betriebssystem[Linux/3.10.0-957.5.1.el7.x86_64/amd64], JVM["Oracle Corporation"/OpenJDK 64-Bit Server VM/10.0.2/10.0.2+13] [2019-03-06T03: 29: 17,691] [Info] [Oennode] [GV0JBYU] JVM -Argumente [-xms1g, -xmx1g, -xx:+useconconcmarksweepgc, -xx: s1m, -djava.awt.headless = true, -dfile.encoding = utf -8, -djna.nosys = true, -xx: -omitstacktraceinfastthrow, -dio.Netty.Nounsafe = true, -dio.Necy.nokeysetoPaNISICE Downhookenabled = false, -dlog4j2.Disable.jmx = true, -djava.io.tmpdir =/tmp/elasticsearch.gvv4iesy, -xx:+heapdumponoutofMemoryError, -xx: heapdumppath = data, -xx: ilfile -fulldafile = logs = logs/hs_err_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_-Log: -xx: iralx: iralx: iralx: iral Trace, SafePoint: Datei = logs/gc.log: utctime, pid, tags: filecount = 32, filesize = 64m, -djava.locale.providers = compat, -xx: useavx = 2, -des.cgroups.hierarchy.override ICSEARCH, -DES.PATH.CONF =/USR/SHARE/ELASTICSEARCH/Konfiguration, -des.distribution.flavor = Standard, -des.distribution.type = tar] [2019-03-06T03:29:22,164][INFO ][oepPluginsService ] [gV0jbyu] geladenes Modul [aggs-matrix-stats] . . . [2019-03-06T03:29:26,129][WARN ][oedsScriptModule ] Skript: Die Rückgabe von Standardwerten für fehlende Dokumentwerte ist veraltet. Setzen Sie die Systemeigenschaft „-Des.scripting.exception_for_missing_value=true“, um das Verhalten mit zukünftigen Hauptversionen kompatibel zu machen. [2019-03-06T03:29:30,804][INFO ][oexsasFileRolesStore] [gV0jbyu] hat [0] Rollen aus der Datei [/usr/share/elasticsearch/config/roles.yml] analysiert. [2019-03-06T03:29:31,986][INFO ][oexmjplCppLogMessageHandler] [controller/62] [Main.cc@109] Controller (64 Bit): Version 6.4.3 (Build 7a0781676dd492) Copyright (c) 2018 Elasticsearch BV [2019-03-06T03:29:32,929][INFO ][oedDiscoveryModule ] [gV0jbyu] mit Erkennungstyp [zen] [2019-03-06T03:29:34,282][INFO ][oenNode ] [gV0jbyu] initialisiert [2019-03-06T03:29:34,283][INFO ][oenNode ] [gV0jbyu] wird gestartet ... [2019-03-06T03:29:34,625][INFO ][oetTransportService ] [gV0jbyu] Veröffentlichungsadresse {172.17.0.2:9300}, gebundene_Adressen {0.0.0.0:9300} [2019-03-06T03:29:34,656][INFO ][oebBootstrapChecks ] [gV0jbyu] gebunden oder veröffentlicht an eine Nicht-Loopback-Adresse, wodurch Bootstrap-Prüfungen erzwungen werden FEHLER: [1] Bootstrap-Prüfungen fehlgeschlagen [1]: Max. virtuelle Speicherbereiche vm.max_map_count [65530] ist zu niedrig, erhöhen Sie auf mindestens [262144] [2019-03-06T03:29:34,721][INFO ][oenNode ] [gV0jbyu] wird gestoppt ... [2019-03-06T03:29:34,760][INFO ][oenNode ] [gV0jbyu] gestoppt [2019-03-06T03:29:34,760][INFO ][oenNode ] [gV0jbyu] wird geschlossen ... [2019-03-06T03:29:34,778][INFO ][oenNode ] [gV0jbyu] geschlossen [2019-03-06T03:29:34,780][INFO ][oexmjpNativeController] Nativer Controller-Prozess wurde gestoppt - es können keine neuen nativen Prozesse gestartet werden Ich habe das Fehlerprotokoll ausgegeben und es grob übersetzt, sodass dieser Satz angezeigt wird:
Es heißt, dass der maximale virtuelle Speicherbereich vm.max_map_count auf 65530 eingestellt ist, was zu niedrig ist und auf mindestens 262144 erhöht werden sollte Ich habe online bei Baidu nach der Einstellungsmethode gesucht:
Dann starten wir ES erneut
Lassen Sie uns den Status später noch einmal überprüfen: # Docker ps -a CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN bdaed6794ca6 5acf0e8da90b "/docker-entrypoint.…" vor 5 Minuten Beendet (130) vor 6 Sekunden ES01 7d2dcc5512ee 01e5bee1e059 "/usr/local/bin/dock…" vor 3 Stunden Aktiv seit 15 Minuten 0.0.0.0:9201->9200/tcp, 0.0.0.0:9301->9300/tcp ES02 d372501cc505 92682ab7dca0 "docker-entrypoint.s…" vor 4 Tagen Beendet (0) vor 22 Stunden myrabbitmq Nachdem wir festgestellt haben, dass es normal gestartet wird, greifen wir auf den Port zu, der http entspricht:
Wir haben festgestellt, dass es mit der von uns installierten ES-Version 6.4.3 kein Problem gab. Die obige Analyse der Ursache des Docker-Fehlers „Exited (1)“ vor 4 Minuten ist alles, was ich mit Ihnen teilen kann. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung des Prinzips der Vue-Überwachungsdaten
>>: Ausführliche Erläuterung der Mysql-Deadlock-Anzeige und Deadlock-Entfernung
Inhaltsverzeichnis 1. Frontend-Steuerung 1. In de...
Tatsächlich haben viele Unternehmen ähnliche Funk...
1. Verwenden Sie grundlegende Textelemente, um In...
Wissen Sie, welche Schriftarten in den Logo-Desig...
Startups überraschen uns oft mit ihren unkonventi...
Inhaltsverzeichnis App-Update-Prozess Grobes Flus...
1. Root-Passwort festlegen und ändern Überprüfen ...
Der Code sieht folgendermaßen aus: // Linienstil ...
Die Installation der MySQL-Software und die Daten...
1. Herunterladen 1. Download-Adresse der offiziel...
Laden Sie das MySQL-Installationspaket herunter. ...
Viele Mobiltelefone verfügen mittlerweile über di...
Inhaltsverzeichnis 1. Datentyp 1.1 Warum brauchen...
--Backup der Homepage 1.txt-Text 2. Scannen Sie da...
Ein einfaches Beispiel für die Verwendung der dre...