Docker позволяет быстро разворачивать, тестировать и деплоить приложения как портативные, самозависимые конейнеры которые могут работать практически где угодно.
Но Docker не удаляет неиспользованные объекты такие как контейнеры, образы, тома и сети, пока вы ему не укажите это сделать. Спустя некоторое время работы с Docker вы насобираете некоторое количество неиспользованных объектов, которые будут лежать на диске мертвым грузом.
Данная статья поможет разобраться как удалить контейнеры и остальные ненужные объекты.
Удаление контейнеров
* Используйте флаг -f или –force чтоб пропустить вопросы.
Удалить ВСЕ неиспользованные объекты
$ docker system prune
Если вы хотите удалить все неиспользуемые тома (volumes) тогда используйте флаг –volumes.
$ docker system prune –volumes
Удалить один или более контейнеров
$ docker container rm ID
Посмотреть список контейнеров с айдишниками:
$ docker container ls -a
Подставив нужные айдишники команда будет выглдядеть так:
$ docker container rm cc3f26661cab cd20b396a666
Если операцию завершилась с ошибкой, возможно конейнер запущен. Вам нужно его оставить.
Error response from daemon: You cannot remove a running container fc983ebf4771d42a8bd0666df061cb74dc12cb174530b2666987575b83442b47. Stop the container before attempting removal or force remove.
Удалить все остановленные контейнеры
Перед тем как запускать команду по удалению контейнеров, вы можете получить список остановленных контейнеров, которые будут удалены.
$ docker container ls -a --filter status=exited --filter status=created
Для удаления всех остановленных контейнеров используйте команду
$ docker container prune
Удалить контейнеры используя фильтры
$ docker container prune --filter "until=12h"
Остановить и удалить все контейнеры
$ docker container stop $(docker container ls -aq)
После того как остановили все контейнеры – их можно удалить
$ docker container rm $(docker container ls -aq)
Удаление Docker образов
Вывести список образов
$ docker image ls
Удалить образ по ИД
$ docker image rm 75835a67d134 2a4cca5ac898
Удалить повисшие образы. Повисшии называет образ, которые не помечен и не используется ни одним контейнером.
$ docker image prune
Удалить все повисшие и не используемые образы:
$ docker image prune -a
Удадить все повисшие и не используемые образы используя фильтр:
$ docker image prune -a --filter "until=12h"
Удаление томов
Посмотреть список томов
$ docker volume ls
Удалить том по айдишнику
$ docker volume rm 4e12af8913af666ba67243dec78419bf18adddc3c7a4b2345754b6db66693163
Удалить все неиспользуемые тома
$ docker volume prune
Удаление сетей
Посмотреть список сетей
$ docker network ls
Удалить сеть по ИД
$ docker network rm c520032c3d31
Удалить все неиспользуемые сети
$ docker network prune
Удалить сети используя фильтр
$ docker network prune -a --filter "until=12h"
Добавить комментарий