我正在运行一个 Java 应用程序,它以给定格式读取一些数据并在临时目录中写入 CSV 文件。该文件完全写入后,数据将批量加载到数据库中。加载完成后,该文件将立即删除。不应共享此文件。
现在,我想在 docker 容器中运行该应用程序的 jar。
从文档中,我读到:
写入容器的可写层需要存储驱动程序来管理文件系统。存储驱动程序使用 Linux 内核提供联合文件系统。与使用直接写入主机文件系统的数据卷相比,这种额外的抽象会降低性能。
据我了解,如果我创建一个卷来映射主机 /tmp 文件夹会更好,这样我就可以获得更好的 I/O 操作性能。另一方面,尽管我的用例由临时文件组成,但卷似乎是出于持久性原因而使用的。
管理临时文件时是否建议使用卷?如果没有,有没有一种有效的方法来处理docker中的临时文件?
如果您想要性能而不是持久性,您可以创建 tmpfs 卷。例如。
docker run --tmpfs /tmp -d java-img
请注意,即使在容器重新启动之间,也不存在持久性。此外,这将从空目录开始,而不是从该安装点的映像目录进行初始化。
有关更多详细信息,包括挂载 tmpfs 卷的其他方法,请参阅:https://docs.docker.com/storage/tmpfs/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)