docker-compose: запись в постоянный файл - PullRequest
0 голосов
/ 17 октября 2018

Я знаю, что docker-compose протоколирует журналы по умолчанию в файл, определенный docker inspect --format='{{.LogPath}}' my_container.Этот файл исчез, как только я убью контейнер.При частом развертывании новой версии образа я теряю много записей журнала.

То, что я хотел бы сделать, - это сохранить записи журнала моего контейнера в постоянном файле журнала, как это делают обычные процессы linux.Я могу сделать так, чтобы мой сценарий развертывания выполнял что-то вроде этого, но я думаю, что есть менее хакерский способ сделать это:

docker-compose logs -t -f >> output-`date +"%Y-%m-%d_%H%M"`.log'

Один из вариантов - настроить docker-compsose для входа в syslog,но пока я хотел бы войти в специальный файл.

Как другие решают проблему постоянной регистрации?

1 Ответ

0 голосов
/ 17 октября 2018

Итак, в docker есть концепция, называемая logging-drivers.https://docs.docker.com/config/containers/logging/configure/#supported-logging-drivers

По умолчанию используется указанный вами файл.Идеальный способ сделать это - передать --log-driver <driver-name> вашей команде run.Затем запустите другой процесс на той же машине, чтобы собрать их и отправить в центральную систему ведения журналов.

Наиболее популярный из них - fluentd или splunk, я полагаю.Но вы также можете написать в json или journald.

Руководство докера для них приведено ниже

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...