Docker-Version 1.13.1 Problemprozess Ein MySQL-Container in einer bestimmten Umgebung kann nicht gestoppt, beendet oder rm 7844250860f8 mysql:5.7.22 "/.r/r docker-entr..." vor 41 Minuten Up 8 Minuten r-dlrel-mysql-1-66df8f33 Nach der Verwendung von Docker Stop / Docker Kill / Docker RM -f und anderen Befehlen wird der Container automatisch sofort neu gestartet Überprüfen Sie den Container sofort. Die Laufzeit beträgt: Weniger als eine Sekunde, was darauf hinweist, dass der Container sofort gestartet wurde. 7844250860f8 mysql:5.7.22 "/.r/r docker-entr..." vor 42 Minuten Aktiv Weniger als eine Sekunde r-dlrel-mysql-1-66df8f33 Beenden Sie den physischen Prozess, der dem Container entspricht, und starten Sie ihn automatisch neu. So erhalten Sie den physischen Prozess: 1. Das Feld State.Pid in Docker Inspect ist die physische Prozess-ID. 2. ps-Befehl Überprüfen Sie die Neustartrichtlinie für den Container. Die Richtlinie lautet „Nein“, was bedeutet, dass kein automatischer Neustart erfolgt. Wenn Sie die Neustartrichtlinie eines laufenden Containers aktualisieren müssen, können Sie diesen Befehl verwenden: "Neustartrichtlinie": { "Name": "nein", "MaximumRetryCount": 0 }, Die magische Art und Weise, wie Programmierer Probleme lösen Ist Ihnen dieses Szenario schon einmal begegnet:
Diesmal gehöre ich zum ersten Typ. Sobald ich die Frage zu Ende gestellt hatte, fiel mir sofort ein: Verdammt, es war das Container-Orchestrierungstool Rancher, das die Planung durchführte, und der Container wurde nach seinem Absturz automatisch neu gestartet. Ich habe mich bei Rancher angemeldet und gesehen, dass dies tatsächlich der Fall war, ein „falsches“ Problem. Obwohl dies diesmal kein Problem ist, besteht bei Docker das Problem, dass es nicht angehalten werden kann, und es gibt viele Informationen dazu. Weiterführende Literatur: Docker-Neustartrichtlinie Während des Lösungsprozesses habe ich viel über Docker-Neustartrichtlinien und -Fehler gelernt. Dieser Artikel ist leicht verständlich: Sicherstellen, dass Container mit der Neustartrichtlinie von Docker immer ausgeführt werden Hier machen wir einfach eine Aufzeichnung und lernen die vier Neustartrichtlinien von Docker kennen. NEIN Nein ist die Standardrichtlinie und der Container wird unter keinen Umständen neu gestartet. bei Ausfall Bei einem Fehler wird ein Neustart durchgeführt, wenn der Container-Exitcode abnormal ist. Wenn der Container-Exitcode normal ist, wird keine Verarbeitung durchgeführt. sudo docker run -d --name Test-Neustarts --restart bei Fehler:5 Test-Neustarts 85ff2f096bac9965a9b8cffbb73c1642bf7b64a2173bbd145961231861b95819 on-failure[:max-retries], max-retries gibt die maximale Anzahl von Neustarts an. Der Vorteil der On-Failure-Funktion besteht darin, dass der Container nicht neu gestartet wird, wenn er mit einem normalen Exitcode beendet wird. stets Unabhängig vom Exitcode des Containers wird dieser automatisch neu gestartet. Hier sind einige Szenarien:
In den oben genannten Fällen wird der Container immer neu gestartet. Wenn jedoch die Richtlinien „Bei Fehler“ und „Keine Richtlinien“ verwendet werden, wird der Container nach dem Neustart der Maschine nicht neu gestartet. sofern nicht gestoppt „Unless-stopped“ ist grundsätzlich dasselbe wie immer, mit Ausnahme eines Szenarios, in dem „unless-stopped“ etwas Besonderes ist: Wenn der Container normal gestoppt wird und dann die Maschine neu gestartet wird oder der Docker-Dienst neu gestartet wird, wird der Container in diesem Fall nicht neu gestartet 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:
|
<<: Vue implementiert das Hinzufügen, Anzeigen und Löschen mehrerer Bilder
>>: Das Vue-Cropper-Plugin realisiert die Kapselung der Bildaufnahme- und Upload-Komponente
1. Installieren Sie die Express-Bibliothek und de...
In HTML haben <, >, & usw. eine speziell...
Dieser Artikel verwendet die Lizenzvereinbarung „...
Ich habe viele Projekte geschrieben, bei denen de...
So richten Sie einen MySQL-Kurzlink ein 1. Überpr...
1. Reinigen Sie vor der Installation gründlich rp...
Unten sehen Sie den Code, den Shiji Tiancheng ver...
Beim Erstellen eines Zeitfelds STANDARD CURRENT_T...
In diesem Artikel wird der spezifische Code für J...
1. Die chinesischen verstümmelten Zeichen erschei...
In diesem Artikelbeispiel wird der spezifische Co...
Popup-Nachrichten sind bei inländischen Internetd...
In diesem Artikel wird hauptsächlich das Beispiel...
Das Implementierungsprinzip der Kettenprogrammier...
Die erste Lösung besteht darin, das Bild in ein ö...