Как просмотреть журналы ошибок при сбое docker-compose - PullRequest
0 голосов
/ 06 мая 2019

У меня есть образ докера, который запускает скрипт entrypoint.sh

Этот скрипт проверяет, правильно ли настроен проект

Если все правильно, контейнер запускается, в противном случае я получил эту ошибку:

echo "Danger! bla bla bla"
exit 1000

Теперь, если я запускаю контейнер в этом режиме:

docker-compose up

я правильно вижу ошибку:

Danger! bla bla bla

, но мне нужно запустить контейнерв режиме демона:

docker-compose up -d

Как показать журнал только в случае ошибки?

1 Ответ

2 голосов
/ 07 мая 2019

Флаг -d в docker-compose up -d обозначает отдельный режим , а не режим deamon.

В отдельном режиме ваши услуги (например, контейнеры) работают в фоновом режиме вашего терминала. Вы не можете видеть журналы в этом режиме.

Чтобы просмотреть все журналы сервисов, вам нужно выполнить следующую команду:

docker-compose logs -f

-f флаг означает «Следить за выводом журнала».Это выведет все журналы для каждого запущенного сервиса, который у вас есть в docker-compose.yml

Насколько я понимаю, вы хотите запустить свои сервисы с:

docker-compose up -d

Для того, чтобыпусть службы работают в фоновом режиме и имеют чистый вывод на консоль.

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

docker-compose logs | grep error

Это выведет все ошибки, зарегистрированные сервисом (службами) докера.

Официальную документацию, связанную с командой docker-compose up , вы найдете здесь и команде logs здесь .Больше информации об обработке логов в этой статье .Соответствующий ответ здесь .

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