【发布时间】:2016-07-06 10:12:00
【问题描述】:
如何重启所有正在运行的 docker 容器?主要是找捷径而不是做
docker 重启 containerid1 containerid2
【问题讨论】:
标签: docker docker-machine
如何重启所有正在运行的 docker 容器?主要是找捷径而不是做
docker 重启 containerid1 containerid2
【问题讨论】:
标签: docker docker-machine
快跑
docker restart $(docker ps -q)
更新
要重新启动 ALL(stopped 和 running)容器,请使用docker restart $(docker ps -a -q),答案如下。
【讨论】:
-a 列出了未运行的容器,但-q 代表什么?
docker ps --help: -q, --quiet Only display numeric IDs 你可以通过命令docker [command] --help获得每个docker命令的帮助
docker ps --all 的表输出中的每个值启动一个容器,因此它将尝试运行docker restart 'up for 2 weeks ago'、docker restart '33060/tcp' 等等。最好以某种方式将docker ps 命令的输出限制为仅名称列。例如docker restart $(docker ps --all --format "{{.Names}}")
现在对我来说:
docker restart $(docker ps -a -q)
【讨论】:
如果你有docker-compose,你需要做的就是:
docker-compose restart
您可以很好地打印出容器名称及其重启状态(完成/错误)
这里是官方安装指南:https://docs.docker.com/compose/install/
【讨论】:
只启动停止的容器:
docker start $(docker ps -a -q -f status=exited)
(在 Windows 上它可以在 Powershell 中运行)。
【讨论】:
启动所有容器:
docker restart $(docker ps -a -q)
如果您无权执行此操作,请使用 sudo:
sudo docker restart $(sudo docker ps -a -q)
【讨论】:
使用唯一的特定容器 ID $ docker restart container-id1 container-id2 container-id3 ... 启动多个容器
【讨论】: