У меня есть приложение, которое записывает журнал в файл (пример / var / log / my_app).
До Docker я использовал supervisor для запуска моего приложения и logrotate.d для журналов ротации.Logrotate.d запускает скрипт для супервизора для перезапуска моего приложения после ротации журнала (для удаления старого файла журнала и создания нового):
supervisor restart my_app
Как мне поступить с Docker?
Как язнать, что если мы используем контейнер Docker только с одним запущенным приложением, нам не следует использовать супервизор (запуск и перезапуск сделает Docker).Итак, как я могу использовать logrotate.d для этого?
Создать «том» для log dir и настроить logrotate.d для перезапуска контейнера Docker?Но я думаю, что это не очень хорошая идея.
Использовать logrotate.d в контейнере Docker с моим приложением?Для каждого образа Docker я установлю logrotate.d и вместо запуска скрипта для супервизора я должен запустить скрипт для закрытия моего приложения (kill -9 или что-то еще).