Передача логов Docker -f в jq

Передача логов Docker -f в jq

Я пытаюсь передать логи json из docker в jq. Это работает нормально, если я использую:

docker logs container_id 2>&1 | jq '.'

Но если я попытаюсь угнаться за ним, он застрянет.

docker logs -f container_id 2>&1 | jq '.'

Хотя отслеживание само по себе работает:

docker logs -f container_id 2>&1

Что я здесь упускаю?

решение1

Попробуйте добавить --unbuffered --stream, чтобы ваша команда стала

docker logs -f container_id 2>&1 | jq --unbuffered --stream '.'

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

Связанный контент