Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Как удалить неиспользуемые образы Docker: docker image prune -a

Обновлено: 27.08.2026  ·  Официальная база знаний

Диск переполнен старыми образами Docker

Каждый раз при сборке проекта через docker build или обновлении контейнеров командой docker compose pull на диске остаются предыдущие версии базовых образов (Ubuntu, Node, Python). Они больше не привязаны ни к одному активному контейнеру, но продолжают занимать гигабайты драгоценного места на SSD накопителе.

Команды безопасного удаления старых образов

  1. Посмотреть сколько места занимают образы:
    docker images
    docker system df
  2. Удалить только «висячие» безымянные образы (<none>):
    docker image prune
  3. Удалить ВСЕ образы, которые не используются работающими контейнерами:
    docker image prune -a

    Терминал запросит подтверждение: введите y и нажмите Enter. Все неиспользуемые образы будут мгновенно стерты.

  4. Удаление с фильтром по времени (например, старше 7 дней):
    docker image prune -a --filter "until=168h"

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

Практический опыт инженера: В production-окружениях настройте регулярную очистку образов старше 14 дней в системном cron (`0 4 * * 0 docker image prune -a --force --filter "until=336h"`), чтобы предотвратить внезапное падение сервера из-за нехватки диска.

Частые вопросы (FAQ)

В чем разница между docker image prune и docker image prune -a?

Обычный `prune` удаляет только «висячие» слои без имени и тега (`<none>`). Флаг `-a` (all) удаляет вообще все скачанные образы, которые в данный момент не запущены в контейнерах.

Как принудительно удалить один конкретный образ по его ID?

Используйте команду: `docker rmi -f ID_ОБРАЗА`.

Удалятся ли мои базы данных и файлы при удалении образов?

Нет! Пользовательские данные хранятся в томах (Volumes) и примонтированных папках хоста. Удаление образов затрагивает только системные шаблоны приложений.

Как очистить кэш сборщика Docker Buildx?

Выполните команду: `docker builder prune -a -f`.