Ich bin nicht ganz sicher, was mongodb tut, aber ich bin mir ziemlich sicher, dass es sich beim Update neu startet.
Das Problem mit Docker-Motor ist nicht, dass sie sich nicht neu starten, tut es tatsächlich, die Sie, indem Sie den folgenden Befehl nach dem Update überprüfen können:
sudo service docker status
Es ist nur so, dass es nicht der Fall ist Starten Sie die laufenden Container neu. Ich weiß nicht genau, warum es so sein muss, denn es könnte theoretisch die laufenden Container zurückbringen, wenn der Dienst neu gestartet wird, aber aus welchen Gründen auch immer, es tut es nicht.
Es gibt zwei Möglichkeiten, dieses Problem zu umgehen.
Die erste und einfache Möglichkeit, das Update von Docker-Engine auszuschließen und das Update manuell durchzuführen, wenn Sie sehen, dass es verfügbar ist.
sudo apt-mark hold docker-engine
sudo apt-get upgrade
Sie sollten eine Mitteilung sehen, ob es ein Update war und ob das Update gehalten wurde zurück
...
The following packages were kept back:
docker-engine
...
Wenn Sie Container haben, die Sie nicht beim Upgrade neu starten kann es sich leisten, sollten Sie diesen Weg gehen.
Wenn Sie es sich jedoch leisten können, sie neu starten zu lassen, können Sie den zweiten Ansatz verwenden. Sie können Neustart Richtlinien festlegen, wenn Sie die Behälter beginnen, etwa so:
sudo docker run --restart=always -d image-name
diese Weise, wenn Docker-Motor neu gestartet wird, wird der Behälter mit ihm begonnen. Das bedeutet, dass der Container, der auf diese Weise gestartet wurde, automatisch gestartet wird.
Ah, ok, ich habe das Problem nicht neu gestartet, weil ich dann alles vor einem Upgrade manuell heruntergefahren habe und dann einen Neustart durchgeführt habe, der ein Skript ausführt, das alle Container startet. Ich denke, es ist die 'sudo apt-mark docker-machine hold', die ich möchte. Ist es Docker-Maschine oder Docker-Engine? –
@DanielF Es ist Docker-Engine, korrigiert es. – khattam