当我将一个sinatra应用程序dockerize时,应用程序的日志文件会发生什么?

问这个问题甚至是有道理的,看看容器是一个短暂的对象? 如果应用程序的日志没有被redirect到一个持久的服务(他们不是),他们甚至没有保存在容器的(临时)文件系统?

首先,Docker容器不一定是一个短暂的对象。 如果你做一个:

docker stop <container-id> 

这些文件保留在/var/lib/docker/aufs/mnt/<container-id>目录中(或者任何Docker主目录。

你可以运行:

 docker start <container-id> 

重新启动容器,同样的容器会出现。 对于你删除容器,你将不得不做一个:

 docker rm <container-id> 

现在回到你的日志文件的问题,这取决于你在哪里login。 你logging到一个文件? stdout? 如果你正在登陆一个文件,那么文件应该位于/var/lib/docker/aufs/mnt/<container-id>/var/lib/docker/aufs/mnt/<container-id>/var/log/app.log或放置日志文件的位置。