7.docker日志收集

默认情况下,docker logs或者docker service logs显示命令的输出,就像在终端中以交互方式运行命令时一样。UNIX和Linux命令通常开在运行时间上三个I / O流,所谓的 STDINSTDOUTSTDERRSTDIN是命令的输入流,可能包括键盘输入或其他命令输入。STDOUT通常是命令的正常输出,STDERR通常用于输出错误消息。默认情况下,docker logs显示命令STDOUT和 STDERR要阅读有关I / O和Linux的更多信息,请参阅有关I / O重定向的 Linux Documentation Project文章

在某些情况下,docker logs除非您采取其他步骤,否则可能无法显示有用信息。

  • 如果使用将日志发送到文件,外部主机,数据库或其他日志记录后端日志记录驱动程序,则docker logs可能无法显示有用信息。

  • 如果您的映像运行非交互式进程(如Web服务器或数据库),则该应用程序可能会将其输出发送到日志文件而不是STDOUTSTDERR

使用nginx 镜像查看 它的日志文件状态

[root@master ~]# docker logs songssssdfsdf 
/ # ls
bin    dev    etc    home   lib    media  mnt    opt    proc   root   run    sbin   srv    sys    tmp    usr    var
/ # ll /var/log/nginx/access.log 
/bin/sh: ll: not found
/ # ls -l /var/log/nginx/access.log 
lrwxrwxrwx    1 root     root            11 Jan 31 23:32 /var/log/nginx/access.log -> /dev/stdout
/ # cd /var/log/
/var/log # ls
nginx
/var/log # cd nginx/
/var/log/nginx # sl
/bin/sh: sl: not found
/var/log/nginx # ls
access.log  error.log
/var/log/nginx # ls -l error.log 
lrwxrwxrwx    1 root     root            11 Jan 31 23:32 error.log -> /dev/stderr

猜你喜欢

转载自www.cnblogs.com/leleyao/p/10587968.html