Ich habe heute eine Instanz von MediaWiki mithilfe des Docker-Images "appcontainers / mediawiki" bereitgestellt und habe jetzt ein neues Problem, für das ich keinen Hinweis finden kann. Nach dem Versuch, eine Verbindung zum Frontcontainer des MediaWiki herzustellen, verwenden Sie Folgendes:
docker attach mediawiki_web_1
welche Antworten Terminated
auf meine Konfiguration aus einem Grund, den ich ignoriere und auch versuche:
docker exec -it mediawiki_web_1 bash
Ich bekomme etwas in der Nähe einer Fehlermeldung:
Error response from daemon: Container 81c07e4a69519c785b12ce4512a8ec76a10231ecfb30522e714b0ae53a0c9c68 is restarting, wait until the container is running
Und da ist mein neues Problem, weil dieser Container nie aufhört, neu zu starten. Ich kann das mit sehen, docker ps -a
das immer einen STATUS von zurückgibt Restarting (127) x seconds ago
.
Die Sache ist, ich kann den Container stoppen (ich habe ihn getestet), aber ein erneutes Starten scheint ihn wieder in seine Neustartschleife zu bringen.
Irgendeine Idee, was hier das Problem sein könnte? Das Ganze funktionierte einwandfrei, bis ich versuchte, mich daran zu befestigen ...
Ich bin traurig :-(
Antworten:
Der
docker logs
Befehl zeigt Ihnen die Ausgabe, die ein Container generiert, wenn Sie ihn nicht interaktiv ausführen. Dies beinhaltet wahrscheinlich die Fehlermeldung.Sie können auch einen neuen Container im Vordergrund ausführen, um
docker run -ti <your_wiki_image>
zu sehen, was dies bewirkt. Möglicherweise müssen Siedocker-compose
demdocker
Befehl eine Konfiguration aus Ihrem yml zuordnen .Ich würde vermuten, dass das Anhängen an den Medien-Wiki-Prozess einen Absturz verursacht hat, der etwas in Ihren Daten beschädigt hat.
quelle
2016-05-26T16:38:27.362409489Z * Stopping web server apache2 * 2016-05-26T21:49:11.376549083Z Terminated 2016-05-26T21:49:11.688655642Z /bin/bash: /tmp/.runconfig.sh: No such file or directory
abgerufen werden, lautet wie folgt: Sie haben also Recht, die Daten sind beschädigt, da die Datei runconfig.sh verschwunden zu sein scheint. Ich werde versuchen, den Container noch einmal im Vordergrund auszuführen, wie Sie empfohlen haben.docker ps -a
zeigte mir, dass es in einer Boot-Schleife steckte und Ihr Befehl zeigte mir warum: Dateien bereits im MySQL-Verzeichnis, die es nicht löschen konnte. Du hast mich vor Stunden gerettet, in denen ich mir die Haare ausgezogen habe. Vielen Dank!Wenn
docker kill CONTAINER_ID
es nicht funktioniert unddocker stop -t 1 CONTAINER_ID
auch nicht funktioniert, können Sie versuchen, den Container zu löschen:Ich hatte heute ein ähnliches Problem, bei dem sich Container in einer kontinuierlichen Neustartschleife befanden.
Das Problem in meinem Fall hing damit zusammen, dass ich ein armer Ingenieur war.
Wie auch immer, ich habe das Problem behoben, indem ich den Container gelöscht, meinen Code repariert und dann den Container neu erstellt und ausgeführt habe.
Ich hoffe, dass dies jedem hilft, der sich in Zukunft mit diesem Problem befasst
quelle
restart: always
die mich in einer Docker-Schleife zurückließ, die versuchte, eine kaputte App zu starten. :(Aus persönlicher Erfahrung scheint es ein Problem in Ihrem Docker-Container zu geben, das einen Neustart nicht zulässt. Ein Prozess innerhalb des Containers führt also dazu, dass der Neustart hängen bleibt, oder ein Prozess führt dazu, dass der Container beim Start abstürzt.
Wenn Sie den Container starten, stellen Sie sicher, dass Sie ihn getrennt "-d" starten, wenn Sie ihn anhängen möchten. (zB "Docker run -d mediawiki_web_1")
quelle
tl; dr Es wird mit dem Statuscode von neu gestartet
127
, was bedeutet, dass in Ihrem Container eine Datei / Bibliothek fehlt. Das Starten eines neuen Behälters könnte das Problem beheben.Erläuterung:
Nach meinem Verständnis von Docker geschieht Folgendes:
127
, der in dieser Antwort erläutert wird .no
( die Standardeinstellung ) festgelegt worden sein muss (entweder mithilfe des Befehlszeilenflags--restart
oder desdocker-compose.yml
Schlüsselsrestart
).Lösung: Möglicherweise ist Ihr Container beschädigt. Das Starten eines neuen Behälters sollte idealerweise die Arbeit erledigen.
quelle
Dies kann auch der Fall sein, wenn Sie einen
systemd
Dienst erstellt haben, der Folgendes hat:quelle
In meinem Fall wurde der Nginx-Container immer wieder neu gestartet. Ich überprüfte die Protokolle des Nginx-Containers und stellte fest, dass .crt- und .key-Dateien einer nicht erforderlichen Domäne fehlerhaft sind. Daher entfernte ich die entsprechenden .conf-Dateien, .crt und .key und startete neu Nginx. Das ist es, Nginx funktioniert gut ohne Neustart.
quelle
Ich hatte vergessen, dass Minikube im Hintergrund lief, und das war es, was sie immer wieder neu startete
quelle
Überprüfen Sie zuerst die Protokolle, warum der Container fehlgeschlagen ist. Weil Ihre Neustartrichtlinie Ihren Container möglicherweise wieder in den Betriebsstatus versetzt. Besser, um das Problem zu beheben. Dann können Sie wahrscheinlich ein neues Image mit / ohne Korrektur erstellen. Führen Sie den folgenden Befehl später aus
docker system prune
https://forums.docker.com/t/docker-registry-in-restarting-1-status-forever/12717/3
quelle
Versuchen Sie, diese Parameter zu Ihrer Docker-XML-Datei hinzuzufügen
Die endgültige Datei sollte ungefähr so aussehen
quelle