Легковесная CLI/TUI-утилита для ресурсной гигиены Docker на локальной машине.
Обнаруживает забытые фоновые контейнеры («зомби»), утечки оперативной памяти и позволяет безопасно освобождать дисковое пространство без риска повредить локальные базы данных.
📥 Скачать готовый исполняемый файл (v1.0.0)
| Функция | docker stats |
Docker Desktop | dockertrim |
|---|---|---|---|
| Потребление ресурсов | ~10 MB | 8–16 GB RAM | ~15 MB RAM (быстрый статический бинарник) |
| Группировка по Docker-Compose | ❌ Нет | ✅ Да (автоматически по лейблам проектов) | |
| Детект "Idle / Stale" сервисов | ❌ Нет | ❌ Нет | ✅ Да (подсветка контейнеров с 0% CPU и утечкой RAM) |
| Предупреждения OOM-Limit | ❌ Нет | ❌ Нет | ✅ Да (желтый >80%, красный критический >90%) |
| Аудит Reclaimable Space | ❌ Нет | ✅ Да (разделение на Safe / Caution / Dangerous) | |
| Защита баз данных (Volumes) | ❌ Нет | ❌ Нет | ✅ Да (тома исключены по умолчанию, строгий guard) |
| Пакетные действия (Multi-select) | ❌ Нет | ✅ Да (Space / v + s, p, r, x) |
Требуется установленный Go 1.21+:
# Клонирование и сборка
git clone <repo-url>
cd dockertrim
go build -o dockertrim.exe ..\dockertrim.exeОткрывает полноэкранный терминальный дашборд с обновлением метрик каждые 2 секунды.
.\dockertrim.exe --summaryВыводит структурированный аудит в консоль с цветовой подсветкой (удобно перед запуском IDE или в CI/скриптах).
.\dockertrim.exe --jsonДля демонстрации интерфейса или тестирования без запущенного Docker Desktop:
.\dockertrim.exe --demoTabили1,2— переключение между вкладками «1. Контейнеры» и «2. Диск и очистка»↑/↓илиk/j— навигация по строкамSpaceилиv— выбор / снятие выбора строки (чекбокс)a— выбрать все / снять выбор со всех
s— Stop (остановить выбранные контейнеры)p— Pause / Unpause (поставить на паузу процессы внутри контейнера, освобождая 100% CPU без сброса стейта)r— Restart (перезапустить контейнеры)x— Remove (удалить контейнеры с модальным подтверждением)m— сортировка по потреблению RAM (по убыванию)u— сортировка по CPU%n— сортировка по имени
Space— переключить флажок категории (кэш сборок, безымянные слои, тома)Enter— запустить безопасную очистку выбранных категорийc— быстрый переход к аудиту диска из любой вкладки
y/Enter— подтвердить действие в модальном окнеEsc/n— отменить модальное окноR— принудительно перечитать метрики из Docker Daemonq/Ctrl+C— выход из утилиты
dockertrim создан для того, чтобы разработчики перестали бояться разрушительных последствий слепого docker system prune -a:
-
Уровень 1 (Безопасно - SAFE):
- Docker Build Cache (BuildKit) — кэши промежуточных шагов сборки (часто занимают 10–30 ГБ). Удаление не влияет на данные.
- Dangling Images — безымянные промежуточные слои
<none>:<none>. - Stopped Containers — временные контейнеры, завершившие работу. Эти пункты выбраны по умолчанию для мгновенной очистки.
-
Уровень 2 (Осторожно - CAUTION):
- Unused Tagged Images — скачанные именованные образы без запущенных контейнеров. Не выбраны по умолчанию.
-
Уровень 3 (Опасно: Тома - DANGEROUS):
- Unused Volumes — неиспользуемые тома. Строго защищены от случайного удаления, требуют ручной отметки чекбоксом и двойного подтверждения, чтобы не стереть локальные базы данных.