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