如何查看泊坞窗内应用程序的日志?

时间:2019-05-18 03:29:32

标签: docker containers

如果我要为我的一个应用程序创建一个Docker映像并将其发布在Docker Hub中。

许多用户下载了此图像,并在其容器中运行了该应用程序,并在文件夹中生成了应用程序日志。

现在作为开发人员,当该容器位于我无权访问的远程计算机中时,如何查看我机器上的那些应用程序日志?

如果它是虚拟机,我可以在同一台计算机上执行ssh并转到该文件夹​​,然后查看该特定应用程序的日志,那么使用docker怎么可能?

我不是在谈论docker事件日志,这是我的python应用程序通过日志记录模块生成的日志。您能帮助我如何在Docker中处理这种情况吗?

我没有在docker上工作的经验。

2 个答案:

答案 0 :(得分:1)

如果您的应用程序将日志文件写入容器文件系统,则这是Docker绑定挂载的两个很好的用途之一。如果操作员(运行容器的人;不是您,原始软件的作者)使用

启动容器
docker run -v $PWD/logs:/app/logs ... you/yourimage

那么他们将能够直接在其主机系统上读取日志文件。

作为原始应用程序开发人员,您无权访问这些日志。这与其他所有(非SaaS)应用程序相同:最终用户在其系统上安装软件并运行该软件,但是该软件在您无法登录的系统上,因此您无法直接看到日志文件之类的内容。处理此问题的技术与其他方法相同:当用户提交错误报告时,请确保他们提供足够的再现,日志文件和相关配置,并在本地自己再现问题。

答案 1 :(得分:0)

docker exec可用于在Docker容器中运行bash命令。但是在您的情况下,容器运行在远程计算机上,而不是在本地计算机上。因此,在这种情况下,您有2个选择。 1. SSH到远程计算机,然后使用docker exec命令检查日志。 2.直接SSH到Docker容器。

但是,在两种情况下,您都需要最终用户通过SSH访问远程计算机。 我希望这会有所帮助。