查看容器日志
该命令显示正在运行的容器记录的信息。该命令显示所有容器记录的信息
参与服务。记录的信息以及
log 几乎完全依赖于容器的 endpoint 命令。docker logs
docker service logs
默认情况下,或显示命令的输出
就像在终端中以交互方式运行命令时显示的那样。Unix (英语)
和 Linux 命令通常在运行时打开三个 I/O 流,分别称为 、 和 。 是命令的输入流,该
可能包括来自键盘的输入或来自其他命令的输入。 是
通常是命令的正常输出,通常用于输出
错误消息。默认情况下,显示命令的 和 。要了解有关 I/O 和 Linux 的更多信息,请参阅有关 I/O 重定向的 Linux 文档项目文章。docker logs
docker service logs
STDIN
STDOUT
STDERR
STDIN
STDOUT
STDERR
docker logs
STDOUT
STDERR
在某些情况下,除非您采取
其他步骤。docker logs
- 如果使用将日志发送到文件的日志记录驱动程序,则
外部主机、数据库或其他日志记录后端,并且禁用了 “dual logging” ,则可能不会显示有用的信息。
docker logs
- 如果您的镜像运行非交互式进程,例如 Web 服务器或
数据库,则该应用程序可能会将其输出发送到日志文件,而不是 和 。
STDOUT
STDERR
在第一种情况下,您的日志会以其他方式处理,您可以选择不
以使用 .在第二种情况下,官方图片显示了一个
解决方法,官方 Apache 镜像显示了另一个解决方案。docker logs
nginx
httpd
官方镜像创建一个从 到 的符号链接,并创建另一个符号链接
from to 覆盖日志文件和
导致日志被发送到相关的特殊设备。请参阅 Dockerfile。nginx
/var/log/nginx/access.log
/dev/stdout
/var/log/nginx/error.log
/dev/stderr
官方驱动程序将应用程序的配置更改为
将其正常输出直接写入 (即 ) 和
其错误设置为 (即 )。请参阅 Dockerfile。httpd
httpd
/proc/self/fd/1
STDOUT
/proc/self/fd/2
STDERR
后续步骤
- 配置日志记录驱动程序。
- 编写 Dockerfile。