用于重启所有正在运行的Docker容器的命令?


83

如何重新启动所有正在运行的Docker容器?主要是寻找捷径而不是做

docker重启containerid1 containerid2

Answers:


176

赶紧跑

docker restart $(docker ps -q)

更新资料

对于Docker,请1.13.1使用下面docker restart $(docker ps -a -q)的答案。


1
我知道-a列表容器未运行,但是代表什么-q呢?
Jim Aho

来自docker ps --help-q, --quiet Only display numeric IDs 您可以通过命令获取有关每个docker命令的帮助docker [command] --help
Andrey Romashin

82

现在对我来说:

docker restart $(docker ps -a -q)

4
值得一提的是,它只能在
Powershell

18

如果您拥有docker-compose,那么您所需要做的就是:

docker-compose restart 

这样,您就可以从容器的名称以及重新启动的状态(完成/错误)中获得良好的打印效果

这是安装的官方指南:https : //docs.docker.com/compose/install/


14

要仅启动已停止的容器:

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

(在Windows上,它可以在Powershell中使用)。


1

要启动所有容器:

  docker restart $(docker ps -a -q)

如果您没有执行此操作的权限,请使用sudo:

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

0

要启动具有唯一特定容器ID的多个容器 $ docker restart contianer-id1 container-id2 container-id3 ...


0

以root权限运行此文件,否则可能不起作用

  docker restart $(docker ps -a -q)

具有root权限

sudo docker restart $(sudo docker ps -a -q)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.