Ziehen Sie in Betracht, eine docker ps -a
zu tun, um den Bezeichner des gestoppten Containers zu erhalten. -a
bedeutet hier nur alle der Container, die Sie auf Ihrem Rechner erhalten haben.
Dann tun Sie docker inspect
und suchen Sie nach dem LogPath
Attribut. Öffnen Sie die Protokolldatei des Containers, und sehen Sie, ob Sie die Ursache dafür, warum der Prozess innerhalb des Containers gestorben ist, identifizieren können. (Sie benötigen möglicherweise root-Berechtigung, um dies zu tun)
Hinweis: Ein Prozess kann wegen irgendetwas, z. code fault
Wenn in der Protokolldatei nichts Verdächtiges angezeigt wird, sollten Sie das Attribut State
überprüfen. Überprüfen Sie auch das ExitCode
Attribut, um zu sehen, ob Sie rückwärts arbeiten können, um zu sehen, welche Zeile Ihrer Anwendung mit diesem Code beendet werden konnte.
Überprüfen Sie auch die OOMKilled
Flagge, wenn dies wahr ist, bedeutet es, dass Ihr Container aufgrund out of memory
Fehler getötet werden konnte.
Nun, wenn Sie immer noch nicht herausfinden, warum, dann müssen Sie möglicherweise mehr Protokollierung in Ihre Anwendung hinzufügen, um Ihnen mehr Einblick, warum es starb.
können Sie einige Werkzeuge wie [ptrace/strace & Freunde] untersuchen (http://jvns.ca/blog/2014/04/20/debug-your-programs-like-theyre-closed-source/) –