将docker日志重定向到文件

时间:2018-09-24 04:18:01

标签: docker io-redirection

通常,当我将docker日志重定向到文本文件时,所有内容都将存储在输出文件中。

这是我预期的结果

[root@ip-xx-xx-xx-xx ~]$ docker logs aa46e7139ce5 > docker.log
[root@ip-xx-xx-xx-xx ~]$

但是有时输出将变为跟随状态,并且错误未包含在docker.log中

[root@ip-xx-xx-xx-xx ~]$ docker logs aaasdas9c356 > docker.log
Debugger failed to attach: handshake failed - received >GET / HTTP/1.0 < - expected >JDWP-Handshake<
Debugger failed to attach: recv failed during handshake: Resource temporarily unavailable
Debugger failed to attach: received >< - expected >JDWP-Handshake<
[root@ip-xx-xx-xx-xx ~]$

只是想知道为什么输出会有不同的行为。

谢谢

1 个答案:

答案 0 :(得分:1)

您缺少标准错误。输出重定向处理文件描述符1,stdout。对于在文件描述符2上发送到stderr的消息,您需要分别进行重定向。到同一位置:

docker logs aaasdas9c356 > docker.log 2>&1

或到一个单独的文件:

docker logs aaasdas9c356 > docker.log 2>docker.err