Wenn Sie zunächst einen Docker Behälter aus einem Bild führen Sie die Option angeben:Wie man einen vorhandenen Docker-Container im Neustart-Modus "immer" neu startet?
--restart="always"
Dies stellt sicher, dass der Behälter immer vom Docker-Daemon neu gestartet wird, wenn es aus irgendeinem Grund aufhört. So könnte man einen Container wie so laufen:
docker run --restart="always" <IMAGE>
Sie können auch einen vorhandenen Docker Container neu starten, indem seine Container-ID spezifiziert, das heißt:
docker start <CONTAINER ID>
aber ich kann nicht feststellen, ob es möglich ist, zu ändern ein vorhandener Container, der ursprünglich nicht mit der Option --restart="always
ausgeführt wurde, um ihn in Zukunft immer neu zu starten.
Momentan kann ich nur denken, den Container als neues Bild zu speichern und dann das Bild als neuen Container mit der Option --restart="always"
ausführen. Wäre das tatsächlich der richtige Weg?
BEARBEITEN: Was ich vielleicht ursprünglich nicht klar genug gemacht habe, ist, dass ich über die Situation nachdenke, wo es Änderungen im Container gab, seit er ursprünglich ausgeführt wurde, die beibehalten werden müssen. Es würde also nicht ausreichen, einen neuen Container aus dem Originalbild zu erstellen.
Aber das Problem damit ist, dass Sie alle Änderungen im ursprünglichen Container verlieren würden, weil Sie es gelöscht und ein neues von Grund auf neu erstellt haben. Ich bin mir ziemlich sicher, dass das Commit eines neuen Images und das Ausführen eines neuen Containers besser wäre, wenn im ursprünglichen Container Änderungen vorgenommen wurden, die beibehalten werden müssen. –
Also sind wir zurück zu Ihrem Commit – user2915097
@rdc sollten Sie versuchen, Änderungen in Containern wegen solcher Dinge zu vermeiden - entweder in einem Volumen oder einem DB irgendeiner Art. –