通常,当我将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 ~]$
只是想知道为什么输出会有不同的行为。
谢谢
答案 0 :(得分:1)
您缺少标准错误。输出重定向处理文件描述符1,stdout。对于在文件描述符2上发送到stderr的消息,您需要分别进行重定向。到同一位置:
docker logs aaasdas9c356 > docker.log 2>&1
或到一个单独的文件:
docker logs aaasdas9c356 > docker.log 2>docker.err