Beim Versuch, einen Docker-Container zu stoppen oder neu zu starten, wird die folgende Fehlermeldung angezeigt:
$ docker restart 5ba0a86f36ea
Error response from daemon: Cannot restart container 5ba0a86f36ea: [2] Container does not exist: container destroyed
Error: failed to restart containers: [5ba0a86f36ea]
Aber wenn ich renne
$ docker logs -f 5ba0a86f36ea
Ich kann die Protokolle sehen, also existiert der Container offensichtlich. Irgendwelche Ideen?
Bearbeiten:
Entschuldigung, ich habe vergessen, dies zu erwähnen:
Wenn ich renne, docker ps -a
sehe ich den Container als betriebsbereit. Die darin enthaltene Anwendung funktioniert jedoch nicht richtig, daher möchte ich sie neu starten oder einfach eine neue Version dieser Anwendung online herunterladen. Wenn ich den Container jedoch nicht anhalten und entfernen kann, kann ich auch keine neue Anwendung zum Laufen bringen, die denselben Port abhört.
Antworten:
Das sieht aus wie Docker / Docker / Issues / 12738 , gesehen mit Docker 1.6 oder 1.7:
Einige Container stoppen nicht richtig und der Neustart
Es gibt einige Problemumgehungen:
Oder:
quelle
Ich konnte
boot2docker
meine Maschine nicht finden . Also habe ich mir etwas ausgedacht, das für mich funktioniert hat.Überprüfen Sie, ob es Ihnen auch hilft.
quelle
docker rm -f <container id>
, aber es funktioniert. Vielen Dank.Alle Docker:
start | restart | stop | rm --force | kill
-Befehle funktionieren möglicherweise nicht, wenn der Container nicht funktioniert. Sie können den Docker-Daemon jederzeit neu starten. Wenn jedoch andere Container ausgeführt werden, ist dies möglicherweise nicht die Option. Was Sie tun können, ist:Die Ausgabe enthält:
Beenden Sie dann den mit dem Container verbundenen Prozess wie folgt:
Dadurch wird der Container zerstört und Sie können einen neuen Container mit dem richtigen Bild starten.
quelle
kill: illegal process id: [USER][PROCESS_ID]
. Kennen Sie Alternativen?No such process
Wissenswert:
Wenn Sie ein ENTRYPOINT-Skript ausführen, funktioniert das Skript mit dem Shebang
Hält aber den Container davon ab, mit anzuhalten
quelle
Überprüfen Sie mit dem Befehl "top", ob es einen Zombie-Prozess gibt.
Holen Sie sich die Container-ID.
Und töte den Container mit der übergeordneten PID.
quelle
Genießen
sudo aa-remove-unknown
Das hat bei mir funktioniert.
quelle
Ich hatte das gleiche Problem auf einem Windows-Hostcomputer und keine der anderen Optionen hier funktionierte für mich. Am Ende musste ich nur den physischen Containerordner löschen, der sich hier befand:
Ich hatte den Docker-Dienst zuerst gestoppt, um sicher zu gehen, und als ich ihn neu startete, waren die kaputten Container jetzt verschwunden und ich konnte neue erstellen. Ich vermute, dass das gleiche auf einem Linux-Host-Computer funktioniert, aber ich weiß nicht, wo sich die Container-Ordner auf diesem Betriebssystem befinden.
quelle
Wenn Sie unter Ubuntu arbeiten, stellen Sie sicher, dass Docker-Compose nicht als Snap installiert ist. Dies führt zu allen möglichen zufälligen Problemen, einschließlich der oben genannten.
Entfernen Sie den Druckknopf:
Und manuell aus dem Compose-Repository installieren:
Installationsanleitung für Docker Compose
quelle
In meinem Fall konnte ich keinen Container löschen, der mit Nomadenjobs erstellt wurde. Es gibt keine Ausgabe für die
docker logs <ContainerID>
und im Allgemeinen sieht es wie eingefroren aus.Bis jetzt lautet die Lösung:
sudo service docker restart
Kann jemand eine bessere vorschlagen?quelle