Когда я использую, docker-compose up
я могу видеть журналы для всех контейнеров в моем docker-compose.yml
файле.
Однако, когда я использую, docker-compose run app
я вижу только вывод консоли, app
но ни одной из служб, app
от которых не зависит. Как увидеть вывод журнала для других сервисов?
docker
docker-compose
удары
источник
источник
docker-compose logs -f service_name
docker-compose run
каждом запуске создается новый контейнер.docker-compose run
работаю в circleci, чтобы запустить свои тесты, так что все в порядке, если он создаст новый контейнер. Основная проблема - просто не видеть вывод журнала из зависимых служб.Ответы:
Обновление 1 июля 2019 г.
Из документации :
См. Журналы докеров
Вы можете запустить Docker compose в автономном режиме и позже присоединиться к журналам всего контейнера . Если вы закончили просмотр журналов, вы можете отключиться от вывода журналов, не завершая работу служб.
docker-compose up -d
для запуска всех служб в автономном режиме (-d
) (вы не увидите никаких журналов в автономном режиме)docker-compose logs -f -t
чтобы присоединиться к журналам всех запущенных служб , тогда как-f
означает, что вы следите за выводом журнала, и-t
опция дает вам отметки времени (см. Справку Docker )Ctrl + z
или,Ctrl + c
чтобы отключиться от вывода журнала, не закрывая запущенные контейнерыЕсли вас интересуют журналы одного контейнера, вы можете
docker
вместо этого использовать ключевое слово:docker logs -t -f <name-of-service>
Сохраните вывод
Чтобы сохранить вывод в файл, добавьте в команду logs следующее:
docker-compose logs -f -t >> myDockerCompose.log
источник
docker-compose run
и присоединения к тем сервисам, которые имеют уникальные имена из сервисов, перечисленных вdocker.compose.yml
Если вы хотите видеть журналы вывода всех служб в вашем терминале.
Если вы хотите регистрировать вывод определенных служб, это можно сделать, как показано ниже:
Ссылка: https://docs.docker.com/v17.09/engine/admin/logging/view_container_logs/
источник
docker-compose up -d
docker ps
docker logs <containerid>
источник
К сожалению, нам нужно запускать
docker-compose logs
отдельно отdocker-compose run
. Чтобы это работало надежно, нам нужно подавитьdocker-compose run
статус выхода, затем перенаправить журнал и выйти с правильным статусом.источник