rs clean — чистка Docker и лимиты логов
Что удаляет rs clean и что нет, как ограничить логи Docker, ротация и journald.
rs clean показывает, что занимает место, и чистит по шагам — каждый шаг спрашивает. --report — только отчёт, --yes — без вопросов, только безопасные шаги.
Что удаляется и что нет
| Шаг | По умолчанию | Чем грозит |
|---|---|---|
| Висячие образы (слои без тега) | да | ничем: это остатки старых версий |
| Кеш сборки | да | следующая docker build будет дольше |
| Остановленные контейнеры | нет | их нельзя будет запустить командой docker start; контейнеры RunStack не трогаются |
| Неиспользуемые образы | нет | скачаются снова при надобности |
| Обнулить логи больше 100 МБ | нет | пропадёт история логов; контейнеры продолжат работать |
| Лимит логов в daemon.json | да | — |
| Сократить journald до 500 МБ | нет | пропадут старые системные логи |
Тома не удаляются никогда — в них базы и файлы приложений. Скрипт только показывает неиспользуемые; проверьте и удалите вручную: docker volume rm <имя>.
Лимит логов Docker
По умолчанию драйвер json-file пишет логи контейнера без ограничения — один болтливый контейнер может заполнить диск. Лимит для всех новых контейнеров — в /etc/docker/daemon.json (rs clean добавит сам, сохранив остальные настройки):
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Применяется после systemctl restart docker (работающие контейнеры перезапустятся) и только к новым или пересозданным контейнерам: docker compose up -d --force-recreate в каталоге проекта. Для одного сервиса — в его compose-файле:
logging:
driver: json-file
options: { max-size: "10m", max-file: "5" }
У сервисов RunStack этот лимит задан с самого начала.
Системный журнал
Ограничить journald навсегда: в /etc/systemd/journald.conf строка SystemMaxUse=500M, затем systemctl restart systemd-journald. Разово: journalctl --vacuum-size=500M.
Если место кончается снова
rs info diskиdu -xh / --max-depth=2 | sort -h | tail— кто растёт.- Бэкапы на том же диске — частая причина; храните их на другом.
- Логи приложений в
/var/log— проверьте logrotate.
