gpt4 book ai didi

docker - 使 docker-compose 日志 -f 仅显示/dev/stderr

转载 作者:行者123 更新时间:2023-12-02 04:20:20 29 4
gpt4 key购买 nike

我有一个运行 Apache2 的容器,并且有一些日志文件将其输入打印到 /dev/stdout/dev/stderr 中。当运行 docker-compose log -f 时,它会盲目地混合打印 stdout 和 stderr。有没有办法只显示两者之一?

lrwxrwxrwx 1 root root 11 Oct 10 01:22 access.log -> /dev/stdout
lrwxrwxrwx 1 root root 11 Oct 10 01:22 error.log -> /dev/stderr
lrwxrwxrwx 1 root root 11 Oct 10 01:22 other_vhosts_access.log -> /dev/stdout

理想情况下,我想选择在输出之间切换。我可以想象 --only-stderr--only-stdout 标志。我知道可能的解决方法,但我很感兴趣这是否本身可行。

最佳答案

我明白你的观点,我也需要同样的东西,但显然目前 docker-compose 不支持它。

查看此功能请求:https://github.com/docker/compose/issues/6078

<小时/>

尽管您无法使用 docker-compose 做到这一点,但您仍然可以通过跟踪特定 Docker 容器的日志来实现类似的功能。

You wrote "I'm aware of possible workarounds for this" so you might know it already, but it will hopefully help other people visiting this page :)

执行docker-compose up后,列出正在运行的容器:

docker ps

复制给定容器的名称并读取其日志:

docker logs NAME_OF_THE_CONTAINER -f

仅读取错误日志:

docker logs NAME_OF_THE_CONTAINER -f 1>/dev/null

仅读取访问日志:

docker logs NAME_OF_THE_CONTAINER -f 2>/dev/null

关于docker - 使 docker-compose 日志 -f 仅显示/dev/stderr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48163423/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com