©
This document uses PHP Chinese website manual Release
这相当于运行以下命令,但在upstart下:
默认情况下,docker logs
或docker service logs
显示命令的输出,就像在终端中以交互方式运行命令时所显示的一样。Unix和Linux命令通常在运行时打开三个I/O流,称为STDIN
,,,STDOUT
,和STDERR
...STDIN
是逗号的输入流,它可以包括来自键盘的输入或来自另一个命令的输入。STDOUT
通常是命令的正常输出,并且STDERR
通常用于输出错误消息。默认情况下,docker logs
显示命令的STDOUT
和STDERR
.若要阅读有关I/O和Linux的更多信息,请参见Linux文档项目关于I/O重定向的文章...
在某些情况下,docker logs
除非您采取其他步骤,否则可能不会显示有用的信息。
如果您使用测井驱动器它将日志发送到文件、外部主机、数据库或另一个日志后端,docker logs
可能无法显示有用的信息。
如果映像运行一个非交互式进程,如web服务器或数据库,则应用程序可以将其输出发送到日志文件而不是日志文件。STDOUT
和STDERR
...
在第一种情况下,您的日志以其他方式处理,您可以选择不使用docker logs
在第二种情况下,nginx
图像显示了一个解决方案,以及正式的apache。httpd
图像显示另一个。
官员nginx
图像创建一个符号链接。/var/log/nginx/access.log
到/dev/stdout
,并创建另一个符号链接。/var/log/nginx/error.log
到/dev/stderr
,在此过程中覆盖先前的设备。见Dockerfile...
官员httpd
驱动程序更改httpd
应用程序的配置,将其正常输出直接写入/proc/self/fd/1
%28STDOUT
%29及其错误/proc/self/fd/2
%28STDERR
29%。见Dockerfile...
了解如何使用自定义测井驱动程序...
学习如何编写Dockerfile...