Докер остановить все контейнеры - PullRequest
1 голос
/ 08 октября 2019

Я много раз видел следующую команду, чтобы остановить все контейнеры Docker:

остановка Docker $ (docker ps -a -q)

Есть двавещи, которые мне не понятны:

  1. docker ps -a печатает все контейнеры, не только запущенные, так какой смысл останавливать уже остановленные контейнеры?
  2. Если docker ps не возвращает / ничего не печатает (нет запущенных образов), то docker stop заявляет, что аргументов недостаточно.

Что мне здесь не хватает? Каков наилучший подход для очистки среды после докера?

Ответы [ 2 ]

3 голосов
/ 08 октября 2019

использовать это не будет работать, если docker ps пусто:

docker ps -q | xargs --no-run-if-empty docker stop

обычно вы используете rm и system prune, если вы действительно хотите очистить

0 голосов
/ 16 ноября 2019

Вы также можете использовать этот oneliner:

docker stop $(docker ps -aq | tr '\n' ' ')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...