У нас есть набор сервисов Docker Swarm, и в соответствии с нашей Политикой конфиденциальности мы должны вести журналы только за последние 6 месяцев, но не старше. Я пытался добиться этого с помощью разных драйверов ведения журнала, но все они (AFAIK) работают только с максимальным размером файла, но не с временем / датой.
Единственное решение, которое я придумал: использовать json-file
драйвер регистрации, а затем настроить logrotate.d
с участием rotate 180
и daily
параметры.
Проблема, однако, в том, что json-file
драйвер logging не отключает стандартное ведение журнала Docker (я имею в виду docker logs -f ...
или docker service logs -f ...
), который использует некоторое внутреннее хранилище Docker для журналов, согласно документации:
Только
json-file
иjournald
драйверы делают журналы доступными непосредственно изdocker-compose up
иdocker-compose logs
. Использование любого другого драйвера не приводит к печати журналов.
В этом случае вращение будет работать на json-file
журналы, но «внутренние» журналы будут храниться дольше.
Итак, мне интересно, как можно добиться ротации журналов Docker по времени?