使用 Docker 版本 18.09.5,在我输入时构建 e8ff056 和 filebeat:7.1.1(通过 elasticsearch):
$ docker logs filebeat > filebeat.log
我看到了日志,但 filebeat.log 是空的。
如果我尝试:
$ docker logs logstash > logstash.log
我看不到控制台的日志,但文件中的日志行已满。
使用的操作系统是:Ubuntu 19.04
使用 Docker 版本 18.09.5,在我输入时构建 e8ff056 和 filebeat:7.1.1(通过 elasticsearch):
$ docker logs filebeat > filebeat.log
我看到了日志,但 filebeat.log 是空的。
如果我尝试:
$ docker logs logstash > logstash.log
我看不到控制台的日志,但文件中的日志行已满。
使用的操作系统是:Ubuntu 19.04
重定向 STDOUT ,>
但您也可以从容器中获得 STDERR 输出。要重定向它,您可以使用:
docker logs filebeat > filebeat.log 2> filebeat.err
或将两者发送到同一个文件:
docker logs filebeat > filebeat.log 2>&1
您应该使用 -t 标志运行容器,该标志将为容器分配一个伪 tty。例子:
docker run -td --rm --name test store/elastic/filebeat:7.1.1
docker logs test > test.txt
这会将输出存储到文件中。在没有 -t 标志的情况下运行时,它只会将日志转储到终端中