Назад в блог

Очистка ресурсов Docker — образов, контейнеров и томов

Очистка ресурсов Docker — образов, контейнеров и томов

Docker — один из самых популярных продуктов в организациях на сегодняшний день. Он значительно упрощает процесс управления приложениями в контейнерах. Docker обеспечивает переносимость, производительность, гибкость, масштабируемость и изоляцию приложений, поскольку использует контейнеры. Контейнеры более переносимы и требуют меньше ресурсов, чем виртуальные машины. Работая с Docker, вы, как правило, накапливаете избыточное количество неиспользуемых образов, томов и контейнеров. Эти ресурсы загромождают вывод и потребляют много дискового пространства. В этом руководстве вы узнаете, как очистить ресурсы Docker и навести порядок на своем сервере.

Полная очистка

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

Справка: «Висячие» (dangling) ресурсы — это те, которые не связаны ни с одним запущенным контейнером.

Вариант 1:
Это удалит:
– все остановленные контейнеры
– все сети, не используемые хотя бы одним контейнером
– все «висячие» образы
– весь «висячий» кэш сборки

Вариант 2:
Это удалит:
– все остановленные контейнеры
– все сети, не используемые хотя бы одним контейнером
– все образы, с которыми не связан ни один контейнер
– весь кэш сборки

Вариант 3:
Это удалит:
– все остановленные контейнеры
– все сети, не используемые хотя бы одним контейнером
– все тома, не используемые хотя бы одним контейнером
– все образы, с которыми не связан ни один контейнер
– весь кэш сборки

docker prune options

Удаление образов Docker

Чтобы удалить определенный образ, вам необходимо знать его ID. Вы можете найти ID образа контейнера Docker с помощью команды “docker images”, как описано в нашем руководстве по установке & работе с Docker на Ubuntu.

Список образов:
Удалить образ:
docker rmi

Удаление «висячих» образов:

При сборке образа Docker он обычно состоит из нескольких слоев. «Висячие» (dangling) образы — это слои, которые не связаны ни с одним тегированным образом. Они занимают дисковое пространство, но не приносят никакой пользы. Их список можно вывести с помощью команды:

Вы можете удалить эти образы, выполнив следующую команду:

Удаление образов по шаблону

Вы можете легко найти образы по определенному шаблону с помощью команды “grep”, а затем удалить их, передав результат в команду “docker rmi” с помощью “awk”. Вы можете использовать следующие команды, заменив “pattern” в каждой из них:

Список:
Удаление:
Удалить все образы

Вы можете вывести список всех образов docker с помощью команды:

Как только вы решите удалить их все, вы можете использовать эту команду, чтобы удалить их все:

 

Удаление контейнеров:

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

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

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

docker rm container
Временный запуск контейнеров

Если вы хотите запустить контейнер только один раз, вы можете настроить его автоматическое удаление после выхода. Вы можете сделать это с помощью команды:

Удаление завершенных контейнеров

Вы можете отфильтровать завершенные контейнеры с помощью аргумента “-f”. Выведите список завершенных контейнеров с помощью команды:

Теперь, когда вы их отфильтровали, удалите их с помощью этой команды:

Удаление контейнеров по шаблону

Вы можете легко найти контейнеры по определенному шаблону с помощью команды “grep”, а затем удалить их, передав в команду “docker rm” с помощью “awk”. Вы можете использовать следующие команды, заменив “pattern” в каждой из них.

Список:
Удалить:
Остановка и удаление всех контейнеров

Перед этим просмотрите все контейнеры на вашем сервере, выведя их список. Только после того, как вы будете уверены, что хотите их удалить, выполните следующие команды:

Выведите список контейнеров для проверки:

Остановить и удалить:

Удаление томов

Удаление определенного тома

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

Список:
Удалить:
docker volume rm
Удаление осиротевших томов

При удалении контейнера связанный с ним том не удаляется автоматически. Такой том называется осиротевшим (dangling). Чтобы найти такие тома, используйте аргумент фильтра в команде:

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

 

Удаление контейнера и его безымянного тома

Если вы создали анонимный или безымянный том при запуске контейнера, вы можете удалить его вместе с контейнером с помощью одной команды. Однако, если том именованный, то будет удален только контейнер.

 

Теперь, когда у вас есть эта шпаргалка, вы готовы очистить ресурсы Docker, которые больше не требуются на вашем сервере.

Приятной работы!

author

Akshay Nagpal

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.