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


84

Як перезапустити всі запущені контейнери докера? В основному шукає ярлик замість того, щоб робити

докер перезапустити containerid1 containerid2

Відповіді:


177

Просто біжи

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 [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)

(На вікнах це працює в 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.