логотип PurpleSchool
логотип PurpleSchool

Возможности команды image prune в Docker

Автор

Алексей Ковалев

Введение

Управление контейнеризацией может стать значительно сложнее, если вы не придерживаетесь порядка в вашем окружении. Docker, будучи одним из ведущих инструментов для контейнеризации, предлагает различные команды для управления образами и контейнерами. Одной из таких полезных команд является image prune. Эта команда автоматически удаляет ненужные образы из вашего локального репозитория, освобождая ресурсы вашей системы, что особенно важно в условиях ограниченных возможностей хранения.

Что такое Docker Image Prune?

Прежде чем приступить к конкретным примерам, давайте разберем, что же в точности делает docker image prune. Эта команда используется для удаления неиспользуемых образов Docker. То есть, если у вас имеются образы, которые не связаны ни с какими запущенными контейнерами, image prune может помочь очистить их.

Основные возможности

Команда docker image prune предлагает следующие возможности:

  1. Удаление всех неиспользуемых образов – по умолчанию команда удаляет только те образы, которые не связаны с контейнерами.

  2. Фильтрация образов для удаления – вы можете уточнять, какие именно образы хотите удалить, используя опции фильтра.

  3. Режим принудительного удаления – позволяет удалять образы без подтверждения пользователя, что удобно для автоматизации процессов.

Как работает команда Image Prune

Теперь давайте перейдем к подробностям работы и примера использования команды docker image prune.

Простое удаление всех неиспользуемых образов

Начнем с базового примера. Чтобы удалить все неиспользуемые образы, выполните следующую команду:

docker image prune

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

Принудительное удаление с флагом -f

Если вы хотите автоматизировать процесс и не желаете каждый раз подтверждать удаление, используйте флаг -f, который отменяет необходимость подтверждения:

docker image prune -f

Фильтрация образов

Docker предлагает фильтрацию, которая дает вам больше контроля над тем, какие именно образы должны быть удалены. Например, вы можете удалить только те образы, которые были созданы более недели назад. Для этого используйте флаг --filter. Смотрите, как это выглядит:

docker image prune --filter "until=168h"  # 168 часов – это 7 дней

Поддержка Cron или других планировщиков

Учитывая, что вы можете автоматизировать очистку использованных образов, используя флаг -f, давайте подумаем о том, как настроить регулярное выполнение этой команды. Для этого можно воспользоваться планировщиком задач, например, cron в UNIX-подобных системах. Вы можете добавлять команду docker image prune -f в cron job для автоматического выполнения раз в неделю или месяц.

# Добавляем правило в cron для еженедельного выполнения
0 0 * * 0 docker image prune -f

Заключение

Команда docker image prune — это мощный инструмент для поддержания порядка в вашем Docker окружении. Она помогает избавляться от всего лишнего и освобождать системные ресурсы, что делает её незаменимой в практике DevOps’а. Надеюсь, данная статья помогла вам лучше понять, как использовать эту команду в повседневной работе и интегрировать её в ваши процессы управления контейнерами.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile