Pipe docker registra -f em jq

Pipe docker registra -f em jq

Estou tentando canalizar logs json do docker para o arquivo jq. Funciona bem se eu usar:

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

Mas, se eu tentar segui-lo, ele ficará preso.

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

Embora seguir por si só funcione:

docker logs -f container_id 2>&1

O que estou perdendo aqui?

Responder1

Tente adicionar --unbuffered --streampara que seu comando se torne

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

Parece que muitas outras pessoas tiveram um problema semelhante. Aqui estão alguns relatórios de bugs no jq sobre este tópico

informação relacionada