首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Docker容器中运行的应用程序是否可以写入其容器的文件系统?

在Docker容器中运行的应用程序是否可以写入其容器的文件系统?
EN

Stack Overflow用户
提问于 2021-09-16 10:47:01
回答 1查看 28关注 0票数 0

我有一个Python Tornado服务器,我最近一直在尝试Dockerize。我唯一不能解决的问题就是日志。以前,服务器使用logging模块将日志写入其目录中的文件。但是,当作为容器运行时,根本不会写入任何日志,即使在容器的文件系统中也是如此。我尝试创建新文件,但也不起作用。结论似乎是应用程序不能修改其容器的文件系统,但这对我来说毫无意义。

我还阅读了有关卷和将容器目录绑定到主机目录的内容。我也尝试过,但仍然没有创建或写入任何文件。

我知道我可能可以通过将服务器的日志重定向到stdout & stderr并使用docker日志记录来解决日志记录问题,但我想了解为什么容器的文件系统似乎是不可变的。

EN

回答 1

Stack Overflow用户

发布于 2021-09-19 15:27:57

容器的文件系统不是不可变的,但是日志文件并没有写入其中。它们不应该是;如果它们是,当容器停止时,您将丢失日志。

您已经在使用docker日志:“默认情况下,Docker捕获所有容器的标准输出(和标准错误),并使用JSON格式将它们写入文件”,并使用默认的json-file logging driver

有关配置日志的信息,请参阅Docker文档:https://docs.docker.com/config/containers/logging/configure/

在主机上创建日志文件:

代码语言:javascript
运行
复制
/var/lib/docker/containers/<container_id>/<container_id>-json.log

您通过以下方式跟踪来自主机的日志

代码语言:javascript
运行
复制
docker logs -f <container_id>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69207065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档