我正在运行一个 Java 应用程序,它以给定的格式读取一些数据并在临时目录中写入一个 CSV 文件。在这个文件被完全写入后,数据被批量加载到数据库中。加载完成后,文件会立即删除。不应共享此文件。
现在,我想在 docker 容器中运行此应用程序的 jar。
从文档中,我读到:
写入容器的可写层需要存储驱动程序来管理文件系统。存储驱动程序使用 Linux 内核提供联合文件系统。与使用直接写入主机文件系统的数据卷相比,这种额外的抽象会降低性能。
据我了解,如果我创建一个卷来映射主机 /tmp 文件夹会更好,这样我就可以获得更好的 I/O 操作性能。另一方面,虽然我的用例包含临时文件,但似乎出于持久性原因使用卷。
管理临时文件时是否推荐使用卷?如果没有,是否有一种有效的方法来处理 docker 中的临时文件?
如果您想要性能而不是持久性,您可以创建一个 tmpfs 卷。例如
docker run --tmpfs /tmp -d java-img
Run Code Online (Sandbox Code Playgroud)
请注意,即使在容器重新启动之间也没有持久性。此外,这将从一个空目录开始,而不是从该挂载点的图像目录进行初始化。
有关更多详细信息,包括挂载 tmpfs 卷的其他方法,请参阅:https : //docs.docker.com/storage/tmpfs/
| 归档时间: |
|
| 查看次数: |
13652 次 |
| 最近记录: |