VorwortHeute habe ich von einem Entwickler die Rückmeldung bekommen, dass ein Container-Dienst nicht gestoppt, rm (docker rm -f) oder beendet werden kann. Mit anderen Worten: Der Container-Dienst lässt sich nicht beenden. Verfahren(1) Das Docker-Verzeichnis kann nicht durch Ausführen des Löschbefehls gelöscht werden: # ll /var/lib/docker/containers | grep caf8ef20f3c1 # cd /var/lib/docker/containers # rm -rf caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8 Zu diesem Zeitpunkt erhalten wir eine Fehlermeldung wie diese:
(2) Aus dem obigen Fehler können wir ersehen, dass die gemeinsam genutzten Mounts „secrets“ und „shm“ nicht gelöscht werden können. Suchen Sie zuerst den Mount-Speicherort, brechen Sie dann das Mounten ab und löschen Sie es dann: # cat /proc/mounts |grep "docker" |grep "caf8ef20f3c1" (3) Aushängen: # umount /data/sys/var/docker/containers/caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8/secrets # umount /data/sys/var/docker/containers/caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8/shm (4) Überprüfen Sie noch einmal: # cat /proc/mounts |grep "docker" |grep "caf8ef20f3c1" // existiert nicht mehr (5) Löschen Sie nun das Docker-Verzeichnis: # cd /var/lib/docker/containers # rm -rf caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef288899d0cb8 (6) Containerdienst löschen Nun verwenden wir rm oder kill um den Containerdienst zu entfernen: # docker rm -f caf8ef20f3c1c oder # docker kill --signal=SIGINT caf8ef20f3c1 Wenn der obige Befehl nach der Ausführung hängen bleibt, starten Sie den Docker-Dienst neu: # systemctl Neustart Docker Nachdem Sie die oben genannten Schritte ausgeführt haben, kann das aufgetretene Problem grundsätzlich gelöst werden ~ Ergänzung: Docker-Container können nicht gestoppt oder beendet werden ProblemprozessEin MySQL-Container in einer bestimmten Umgebung kann nicht gestoppt, beendet oder rm sudo docker ps | grep mysql, um den Container anzuzeigen 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: docker update –restart=no my-container "Neustartrichtlinie": { "Name": "nein", "MaximumRetryCount": 0 }, Die magische Art und Weise, wie Programmierer Probleme lösenIst Ihnen dieses Szenario schon einmal begegnet: Ein Problem verwirrte mich, doch als ich vor meinen Kollegen trat und ihm das Problem deutlich erklärte, verstand ich es plötzlich. Das Problem war offensichtlich sehr einfach, aber beim Ausführen des Programms trat ein Problem auf. Dann bat ich einen Kollegen, mir bei der Überprüfung der Grundkonfiguration zu helfen, und plötzlich wurde mir die Antwort klar. 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. Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur. Das könnte Sie auch interessieren:
|
<<: So implementieren Sie die Vue-Bindungsklasse und den Inline-Bindungsstil
>>: HTML-Codeanalyse der Textkonvertierungseffekte bei Links- und Rechtsbewegungen
Der Vue-Teil ist wie folgt: <Vorlage> <K...
Für die Installation von Docker auf CentOS muss d...
Zitat aus Baidus Erklärung zu Pseudostatik: Pseud...
Ich habe einen Artikel des Yahoo-Teams über die O...
Inhaltsverzeichnis 1. Laden Sie die MySQL-MSI-Ver...
Nach einem abnormalen Herunterfahren von VMware w...
Warum möchte ich den Inhalt in diesem Bereich orga...
1. Schnittstelle für die Anforderung einer Antwor...
I. Einleitung Lassen Sie mich zunächst die MySQL-...
Nach der Installation von Ubuntu 20.04 gibt es st...
Installationsumgebung: CentOS7 64-Bit, MySQL5.7 1...
Inhaltsverzeichnis Startoptionen Befehlszeile Lan...
Hinzufügen einer Netzwerkschnittstelle zum Contai...
Ereignisschleife in js Da JavaScript ein Single-T...
Vorwort Der Quellcode umfasst insgesamt nur mehr ...