Команда для перезапуска всех запущенных контейнеров докеров?


85

Как перезапустить все запущенные контейнеры докеров? В основном ищу ярлык вместо того, чтобы делать

docker перезапуск containerid1 containerid2

Ответы:


179

Просто беги

docker restart $(docker ps -q)

Обновить

Для Docker 1.13.1используйте docker restart $(docker ps -a -q)ответ ниже.


1
Я знаю, что -aсписки контейнеров не запущены, но что означает -q?
Джим Ахо

от docker ps --help: -q, --quiet Only display numeric IDs Вы можете получить помощь по каждой команде докера по командеdocker [command] --help
Андрей Ромашин

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

Чтобы запустить несколько контейнеров с единственным конкретным идентификатором контейнера $ 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)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.