Назад | Перейти на главную страницу

Ротация журналов Docker по времени

У нас есть набор сервисов 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 по времени?