首页 > 解决方案 > docker 容器的日志文件目录不存在。可以看到路径但实际上不能访问文件

问题描述

我正在使用 docker 容器,并且正在尝试访问日志。目前,我的 docker 容器正在运行我的应用程序,该应用程序将信息打印到正在运行该容器的命令提示符。我正在尝试以文件的形式访问所有这些信息。到目前为止,我运行了命令来查看我的日志文件所在的位置,并且出现了类似的内容:'/var/lib/docker/containers//-json.log'

但是,当我在容器中执行“docker exec”时。我的 /var/ 目录下实际上没有 /lib/ !所以我运行“docker logs”来查看是否有日志,我想要的日志打印到控制台上。有没有人遇到过类似的事情或有什么建议?谢谢!

标签: dockerlogging

解决方案


将容器的日志存储在容器内是反模式。var/lib/docker 路径在主机上而不是在容器内。是的,当您运行以下命令时,您确实会看到正在运行的容器的当前日志:

 docker exec-it container_id sh 

但是该事务的日志只显示不显示以前的。

如果您使用的是linux : /var/lib/docker是所有 docker 守护程序数据的路径,并且它会持续存在。

如果您在Windows上: C:\programData\docker是相同的路径。

如果你想查看 docker logs ,路径是/var/log/


推荐阅读