docker - docker 容器的日志文件目录不存在。可以看到路径但实际上不能访问文件
问题描述
我正在使用 docker 容器,并且正在尝试访问日志。目前,我的 docker 容器正在运行我的应用程序,该应用程序将信息打印到正在运行该容器的命令提示符。我正在尝试以文件的形式访问所有这些信息。到目前为止,我运行了命令来查看我的日志文件所在的位置,并且出现了类似的内容:'/var/lib/docker/containers//-json.log'
但是,当我在容器中执行“docker exec”时。我的 /var/ 目录下实际上没有 /lib/ !所以我运行“docker logs”来查看是否有日志,我想要的日志打印到控制台上。有没有人遇到过类似的事情或有什么建议?谢谢!
解决方案
将容器的日志存储在容器内是反模式。var/lib/docker 路径在主机上而不是在容器内。是的,当您运行以下命令时,您确实会看到正在运行的容器的当前日志:
docker exec-it container_id sh
但是该事务的日志只显示不显示以前的。
如果您使用的是linux :
/var/lib/docker
是所有 docker 守护程序数据的路径,并且它会持续存在。
如果您在Windows上:
C:\programData\docker
是相同的路径。
如果你想查看 docker logs ,路径是/var/log/