Befehl zum Neustarten aller laufenden Docker-Container?

83

Wie starte ich alle laufenden Docker-Container neu? Hauptsächlich auf der Suche nach einer Verknüpfung anstatt zu tun

Docker neu starten containerid1 containerid2

Ranjiths
quelle

Antworten:

176

Lauf einfach

docker restart $(docker ps -q)

Aktualisieren

Für Docker 1.13.1verwenden Sie docker restart $(docker ps -a -q)wie in Antwort unten.

Andrey Romashin
quelle
1
Ich weiß, dass -aListencontainer nicht ausgeführt werden, aber wofür steht das -q?
Jim Aho
von docker ps --help: -q, --quiet Only display numeric IDs Sie können Hilfe für jeden Docker Befehl für Befehl bekommendocker [command] --help
Andrey Romashin
82

Für mich ist es jetzt:

docker restart $(docker ps -a -q)
bohr
quelle
4
Erwähnenswert für alle, dass es nur in Powershell funktioniert
am
18

Wenn docker-composeja, müssen Sie nur:

docker-compose restart 

Und Sie erhalten einen schönen Ausdruck des Containernamens zusammen mit dem Status des Neustarts (erledigt / Fehler)

Hier ist die offizielle Anleitung zur Installation: https://docs.docker.com/compose/install/

benjaminz
quelle
14

So starten Sie nur gestoppte Container:

docker start $(docker ps -a -q -f status=exited)

(Unter Windows funktioniert es in Powershell).

Cepr0
quelle
1

So starten Sie alle Container:

  docker restart $(docker ps -a -q)

Verwenden Sie sudo, wenn Sie keine Berechtigung dazu haben:

sudo docker restart $(sudo docker ps -a -q)
Hitesh Kumar
quelle
0

So starten Sie mehrere Container mit den einzigen bestimmten Container-IDs $ docker restart contianer-id1 container-id2 container-id3 ...

Naveen Chander
quelle
0

Führen Sie dies als Root-Berechtigung aus, da dies sonst möglicherweise nicht funktioniert

  docker restart $(docker ps -a -q)

mit Root-Berechtigungen

sudo docker restart $(sudo docker ps -a -q)
Akitha_MJ
quelle