"docker logs container-id | tail -10" 是一个有效的命令吗?

Is "docker logs container-id | tail -10" a valid command?

我是 运行 命令 docker logs <container-id> | tail -10,docker 仍然显示整个日志历史记录。我知道 docker logs --tail 10 <container-id> 是一个有效的命令并且可以达到目的。但是,为什么前面的命令不像在文件中那样起作用?

如果您希望程序写入 stdout 或 stderr 的所有内容通过管道到达 tail,请将 stderr 重定向到 stdout:

docker logs "$container_id" 2>&1 | tail -10

以防有人想要 tail -f docker logs

在这里你可以试试这个:

docker logs -f --tail 0 "$container_id"