
私は docker から に json ログをパイプしようとしていますjq
。以下を使用すると正常に動作します。
docker logs container_id 2>&1 | jq '.'
しかし、尾行しようとすると、動けなくなってしまいます。
docker logs -f container_id 2>&1 | jq '.'
tailing 自体は機能しますが、
docker logs -f container_id 2>&1
ここで何が欠けているのでしょうか?
答え1
--unbuffered --stream
コマンドを追加して、
docker logs -f container_id 2>&1 | jq --unbuffered --stream '.'
他にも多くの人が同様の問題を抱えているようです。このトピックに関するjqのバグレポートをいくつか紹介します。