Как создать резервную копию всех журналов контейнеров docker

#docker #jenkins #logging #containers #docker-logs

Вопрос:

Я совсем новичок в докере и не знаю, задавали ли этот вопрос раньше. Можно ли создать резервную копию всех docker container logs без использования томов для каждого контейнера? Мы используем docker на удаленной машине (в основном с помощью jenkins )

Прямо сейчас я запускаю несколько containers и несколько docker-compose на своей удаленной машине. Я хочу сохранить журналы (с a retention period 7 days ) для дальнейшего использования.

Есть ли в наличии images что-нибудь, что может помочь мне с этим? Мы изначально используем elk-stack filebeat , но они потребляют слишком много ресурсов. Теперь мы просто используем dozzle для удаленного просмотра журналов.

Ответ №1:

После некоторого размышления я просто выполнил следующие команды для резервного копирования своих журналов:

 docker ps -a --format {{.Names}} //to get names of docker containers
for each container 
    docker logs container_name > container_name_date.log

forfiles /p <logs location> /s /m *.log* /c "cmd /c Del @path" /d -7" //to delete >7 day old log files
 

Теперь я запускаю этот скрипт через конвейер Дженкинса в качестве ежедневного задания cron