Удаление Docker контейнеров, образов, сетей и томов

Profile picture for user admin_romcom

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"

Tags

Add new comment

The content of this field is kept private and will not be shown publicly.

Plain text

  • No HTML tags allowed.
  o-o   o--o      o    o-o  o---o 
| | | | / /
o-o O-o | O o
| | | \ o \ |
o-o o--o o-o o-o o

Enter the code depicted in ASCII art style.