Как сохранить журналы докера контейнера на машине, а не в контейнере - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть несколько тестов, которые я запускаю, используя docker-compose.Проблема в том, что журналы докера сохраняются в контейнере (что усложняет отладку).

Я ищу способ настройки docker-compose для сохранения всех журналов на компьютере, на котором я выполняю тесты,вместо контейнера.Предпочтительно некоторая конфигурация файла docker-compose.yml, но я открыт для любых предложений

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Полагаю, сценарий, который вы просматриваете, заключается в том, что у вас есть док-контейнеры, разбросанные по нескольким хост-машинам.так что, вероятно, вам нужно создать док-контейнер для тома хост-машины и посмотреть, можете ли вы сопоставить том хоста с общей файловой системой.

или написать несколько сценариев, выполняющихся на хост-машинах докера, для копированияфайлы журналов с подключенного тома докера на хосте докера в удаленное место по вашему выбору, используя команду scp и т. д.

или используйте некоторые рамы агрегации журналов https://stackify.com/log-aggregation-101/

0 голосов
/ 29 ноября 2018

Это не docker-compose, кто сохраняет ваши логи и должен быть перенастроен.Это docker сама или ваша служба, работающая внутри этого докера, в зависимости от того, какие журналы вы имеете в виду.

Если вы говорите о docker журналах, вам следует обратиться к странице конфигурации драйвера журнала докера: https://docs.docker.com/config/containers/logging/configure/

Если вы говорите о журналах, создаваемых вашими службами , просто смонтируйте записываемый том с хост-компьютера в контейнер и настройте свое программное обеспечение для входа в эту папку.Вы можете добиться этого, как это делает следующий код:

docker-compose.yml:

...
my-service:
  image: xxx
  entrypoint: ["sh", "-c", "echo 'Hello World!' > /path/inside/docker/some_log_file" ]
  volumes:
    - /path/on/host:/path/inside/docker
...

, который вы обслуживаете сейчас, просто войдите в систему /path/inside/docker/some_log_file.

На хост-компьютере вы увидите все эти файлы в /path/on/host

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