Я запускаю команду docker logs <container-id> | tail -10, и все же докер показывает всю историю журнала. Я знаю, docker logs --tail 10 <container-id> является действительной командой и служит цели. Но почему первая команда не работает так, как в случае файла?
docker logs <container-id> | tail -10
docker logs --tail 10 <container-id>
Если вы хотите, чтобы все, что ваша программа записывала в stdout или stderr, проходило по конвейеру до tail, перенаправьте stderr в stdout:
tail
docker logs 2>&1 | tail -10