在Docker中查看Apache中的error.log和access.log?

问题描述 投票:0回答:1

我的Docker在其 vhost.conf

<VirtualHost *:80>
    // ...(snipped)
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

通过以下方式查看 docker exec/var/log/apache,做 ls -l 显示。

access.log -> /dev/stdout
error.log -> /dev/stderr

这是什么意思,可以查看他们的内容吗?

apache docker logging
1个回答
1
投票

docker logs 的容器上会显示出这个日志输出。

/dev/stdout/dev/stderr 是特殊的 "文件",它们实际上分别指向当前进程的标准输出和错误通道(它们本身应该是指向 /proc/self/fd/1/proc/self/fd/2). 除非有什么原因导致它们被重定向到其他地方,否则这将成为容器的主要输出,而这将被Docker的内部日志子系统捕获。

如果你想在你的本地系统上捕获这些具体的文件,你可以将本地目录绑定挂载在 /var/log/apache (带 docker run -v 选项或Docker Compose ports: 选项)。) 这将导致一个(最初是空的)目录在容器中隐藏该目录的内容,当HTTP守护进程写出它的日志时,它们将作为真实的文件出现在与主机共享的目录中。

你不应该需要 docker exec 在正常运行中。

© www.soinside.com 2019 - 2024. All rights reserved.