Wenn Sie nur die Neustartrichtlinie ändern möchten, können Sie jetzt (in Docker Engine 1.11) docker-update verwenden.
# docker update --restart=unless-stopped containername
Einige nützliche Informationen gibt es in der Ausgabe von Docker ps, insbesondere die Anschlusszuordnungen, zB:
Docker-Update kann entweder auf einem laufenden oder einem gestoppten Behälter finden Docker-update Mann, zum Beispiel angewendet werden
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
75d1e6adbb37 my-fancy-image "/usr/sbin/sshd -D" 22 hours ago Up 22 minutes 0.0.0.0:8022->22/tcp fancy_torvalds
Alle anderen Befehlszeilenparameter, die verwendet wurden, den Behälter zu beginnen in der Ausgabe von docker untersuchen, zum Beispiel zu finden:
# docker inspect containername
...
"Path": "/usr/sbin/sshd",
"Args": [
"-D"
],
...
"HostConfig": {
"Binds": [
"/home/user/workspace/thing:/home/other/workspace/thing"
],
...
"PortBindings": {
"22/tcp": [
{
"HostIp": "",
"HostPort": "8022"
}
]
},
"RestartPolicy": {
"Name": "unless-stopped",
"MaximumRetryCount": 0
},
...
Wenn es nicht nur die Neustart-Richtlinie ist es, Sie wan Um Änderungen vorzunehmen (und Sie haben Anwendungsdaten in Ihrem Container) können Sie den Container als Bild speichern und ihn dann als neuen Container ausführen. Dies sollte keinen signifikanten zusätzlichen Speicherplatz belegen. Sie müssen es nicht zu einem Repository schieben:
# docker commit -m="Message" -a="Author Name" containername username/imagename:latest
# docker run <new options here> username/imagename:latest
Ich muss mich fragen, warum Sie das überhaupt tun wollen. Haben Sie alle Ihre Anwendungsdaten in demselben Container wie die Anwendung selbst, sodass Sie den Container nicht einfach löschen und einen neuen mit Ihren bevorzugten Optionen erstellen? Es gibt viele ausgezeichnete Diskussionen zu diesem Thema gefunden werden, insbesondere:
Oder ist es eine Möglichkeit, eine Art zu tun: Docker Neustart - my-options-here –
Wie wäre es mit 'docker inspect'? –
BMW