docker nginx 容器的日志存储在主机中的什么位置

Where are logs of docker nginx conainter stored in host

我使用default nginx image和Filebeat来读取日志并将它们发送给ELK。 两个容器(nginx 容器和 Filebeat 容器)都在同一台主机上。

这是 nginx 镜像的 Dockerfile

FROM nginx
COPY . /usr/share/nginx/html/
EXPOSE 80

在我的 nginx 容器中,访问日志转到 STDOUT,错误日志转到 STDERR

当我从主机 docker logs <nginx-containter-id> 提示时,我可以看到来自 nginx 容器的日志。 但是主机上的容器文件夹中没有任何内容 (/var/lib/docker/containers/nginx-container-id)

如何设置filebeat读取日志?

每个容器都有自己的日志文件,您可以通过以下方式知道它在哪里:

docker inspect --format='{{.LogPath}}' <nginx-containter-id>

它会告诉您日志文件的路径。

参考文献: