ℹ️ В процессе работы с Docker-контейнерами часто возникает проблема с ростом объема логов, особенно если контейнеры генерируют много данных. Вместо того чтобы полагаться на сторонние инструменты мониторинга, вы можете использовать встроенный инструмент — logrotate — для автоматической ротации логов внутри контейнеров.
📑 1. Создайте файл конфигурации logrotate внутри контейнера:
# /etc/logrotate.d/docker_logs
/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
ℹ️ Пояснение к конфигурации:
- -
daily— означает ежедневную ротацию логов. - -
rotate 7— хранить 7 архивных копий логов. - -
compress— сжимать старые логи для экономии места. - -
copytruncate— обрезать файл логов, не прерывая работу приложения.
👨💻 2. Запустите logrotate через cron или в Dockerfile
Добавьте это в Dockerfile, чтобы настроить запуск logrotate по расписанию:
RUN apt-get update && apt-get install -y logrotate
COPY logrotate.conf /etc/logrotate.d/docker_logs
CMD ["cron", "-f"]
✳️ Этот лайфхак особенно полезен для IT-специалистов, которые хотят иметь простой и надежный способ управления логами без перегрузки инфраструктуры лишними инструментами.



