当我对一个 sinatra 应用程序进行 docker 化时,该应用程序的日志文件会发生什么情况?
When I dockerize a sinatra app, what happens to the app's log files?
问这个问题有意义吗,看看容器如何
是一个短暂的对象?如果应用程序的日志没有被重定向到
持久服务(它们不是),它们甚至没有保存在
容器的(临时)文件系统?
首先,Docker 容器不一定是临时对象。如果你这样做:
docker stop <container-id>
这些文件保留在您的 /var/lib/docker/aufs/mnt/<container-id>
目录中(或者您的 Docker 主目录。
你可以运行:
docker start <container-id>
重新启动容器,将出现相同的容器。要删除容器,您必须执行以下操作:
docker rm <container-id>
现在回到你的日志文件的问题,这取决于你登录到哪里。您正在登录文件吗?标准输出?如果您正在记录文件,那么文件应该在 /var/lib/docker/aufs/mnt/<container-id>
或 /var/lib/docker/aufs/mnt/<container-id>/var/log/app.log
下,或者您放置日志文件的任何地方。
问这个问题有意义吗,看看容器如何 是一个短暂的对象?如果应用程序的日志没有被重定向到 持久服务(它们不是),它们甚至没有保存在 容器的(临时)文件系统?
首先,Docker 容器不一定是临时对象。如果你这样做:
docker stop <container-id>
这些文件保留在您的 /var/lib/docker/aufs/mnt/<container-id>
目录中(或者您的 Docker 主目录。
你可以运行:
docker start <container-id>
重新启动容器,将出现相同的容器。要删除容器,您必须执行以下操作:
docker rm <container-id>
现在回到你的日志文件的问题,这取决于你登录到哪里。您正在登录文件吗?标准输出?如果您正在记录文件,那么文件应该在 /var/lib/docker/aufs/mnt/<container-id>
或 /var/lib/docker/aufs/mnt/<container-id>/var/log/app.log
下,或者您放置日志文件的任何地方。