Skip to content

Очистка Docker: rm, rmi, prune

Описание:
Команды docker rm, docker rmi, docker container prune и docker image prune используются для удаления ненужных контейнеров, образов и освобождения места на диске. Это важно для поддержания чистоты окружения и оптимизации работы Docker Engine.


🗑️ Удаление контейнеров – docker rm

Структура команды:

docker rm [container_id|name]

Описание:
Удаляет один или несколько остановленных контейнеров. Контейнер должен быть остановлен, иначе будет ошибка.

Пример:

docker rm my_container

Множественное удаление:

docker rm container1 container2 container3


🗑️ Удаление образов – docker rmi

Структура команды:

docker rmi [image_id|name]

Описание:
Удаляет один или несколько локальных образов.
Если образ используется контейнером — команда завершится ошибкой, если не принудить удаление.

Пример:

docker rmi nginx

Множественное удаление:

docker rmi image1 image2

❗ Чтобы удалить все образы, можно использовать:

docker rmi $(docker images -q)


🧹 Удаление остановленных контейнеров – docker container prune

Структура команды:

docker container prune

Описание:
Удаляет все остановленные контейнеры.
⚠️ Требует подтверждения (y), можно автоматизировать через -f.

Пример:

docker container prune -f


🧹 Удаление неиспользуемых образов – docker image prune

Структура команды:

docker image prune

Описание:
Удаляет неиспользуемые образы (dangling — без тегов, висят без контейнеров).
По умолчанию удаляет только dangling, но можно использовать -a для удаления всех неиспользуемых образов.

Пример (только dangling):

docker image prune -f

Пример (все неиспользуемые):

docker image prune -a -f


💥 Полная зачистка Docker — всё сразу

Для удаления всего мусора: контейнеров, образов, томов и сетей:

docker system prune -a -f --volumes

⚠️ Использовать с осторожностью — удаляет всё неиспользуемое, включая анонимные тома.