Поиск по сайту:

Как очистить и удалить образы Docker


Образы Docker могут быть очень большими, и если вы часто работаете с контейнерами, они могут занимать много места в вашем хранилище. Мы обсудим, как очистить загруженные изображения и удалить старые файлы, которые вам не нужны.

Образы Docker и контейнеры Docker

Образы Docker обрабатывают свои данные иначе, чем контейнеры. Образы — это файлы только для чтения, созданные из Dockerfiles и отправленные в Docker Hub. Каждый раз, когда вы загружаете новую версию, Docker должен загружать файлы для этой новой версии. Старые версии по-прежнему хранятся на вашем локальном диске.

Контейнеры создаются из образов и обычно имеют собственную файловую систему и прикрепленные к ним тома. Когда вы останавливаете контейнер, все данные, не хранящиеся на томе, будут удалены. Таким образом, чтобы очистить данные, используемые контейнерами, вам просто нужно остановить их и удалить их тома.

Для очистки изображений Docker предоставляет несколько команд для запуска сборки мусора.

Обрезка изображений

Вы неизбежно столкнетесь с образами, которые не используются, будь то старые версии образов или образы из контейнеров, которые активно не работают. В любом случае удаление образа обычно не представляет проблемы — если оно понадобится вам снова, Docker может просто получить его из удаленного репозитория.

Чтобы просмотреть все изображения, хранящиеся в вашей системе, вы можете использовать следующую команду:

docker image ls

Несмотря на то, что все эти версии занимают кучу места в этом выводе, разные версии сохраняются постепенно, поэтому на диске фактически сохраняются только изменения из новой версии.

Вы можете удалить изображение вручную, учитывая его идентификатор изображения:

docker image rm 3a8d8f76e7f8f

Однако гораздо более безопасным методом является использование встроенной команды prune , которая просматривает все изображения, чтобы найти и удалить те, на которые нет активных ссылок:

docker image prune -a

Если не использовать тег -a, изображения с тегами останутся, но не используются. С флажком останутся только изображения, которые вы активно используете.

Команда prune сообщит вам, сколько места было освобождено, но если вы хотите вручную проверить, сколько места использует Docker до и после, вы можете использовать du -sh на каталог хранилища Docker:

sudo du -sh /var/lib/docker/

Этот каталог будет находиться в C:ProgramDataDockerDesktop в Windows и ~/Library/Containers/com.docker.docker/Data/vms/0/ в macOS.