파이프 docker는 -f를 jq에 기록합니다.

파이프 docker는 -f를 jq에 기록합니다.

Docker에서 json 로그를 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의 버그 보고서는 다음과 같습니다.

관련 정보