Проблема
Иногда мне нужно было остановить и удалить все контейнеры Docker, которые я работаю на локальном уровне. Я все время устал от Googling для команд и решил написать фрагмент, к которому я мог бы легко получить доступ.
Решение
Прежде чем мы увидим, как остановить и удалить все контейнеры, нам нужно перечислить все контейнеры.
Перечислите все контейнеры
Команда перечисляет все контейнеры это Контейнер Docker LS [Параметры]
Анкет
По умолчанию он показывает только работающие контейнеры и много информации, которая нам не понадобится. Итак, давайте передадим некоторые варианты
- -a : Покажите все контейнеры.
- -q : Только отображать числовые идентификаторы.
docker container ls -aq
Остановка всех контейнеров
Команда остановить контейнеры Docker это Docker Container Stop [Options] Контейнер [контейнер ...]
Мы видим, что для остановки требуется список идентификаторов/имен контейнеров. У нас уже есть список идентификаторов контейнеров с предыдущего шага. Все, что нам нужно сделать сейчас, это использовать трюк по расширению оболочки, чтобы пройти в списке всех контейнеров.
docker container stop $(docker container ls -aq)
Удаление всех контейнеров
Команда Удалить контейнеры Docker это Контейнер Docker RM [Options] Контейнер [контейнер ...]
Мы видим, что это похоже на команду Stop, а также принимает список идентификаторов контейнеров для удаления.
Мы можем использовать тот же трюк по расширению оболочки, чтобы пройти в списке всех контейнеров.
docker container rm $(docker container ls -aq)
Вывод
Это делает его тривиальным, чтобы остановить и удалять все контейнеры, которые у меня работают локально.
Оригинал: «https://dev.to/ankursheel/how-to-stop-and-remove-all-docker-containers-2nj9»