我目前正在使用AWS Fargate
在生产中运行一些容器。我正在运行一个应用程序,不时将一些文件填充到/tmp
文件夹。
也就是说,我想知道这个/tmp
文件夹会发生什么。这是由Fargate
(例如ECS Container Agent)管理的东西,还是我需要自己管理的东西(例如使用cronjob
来清除那里的文件)?
注1:处理这种情况的一种方法是使用s3
来处理这种行为,但是,问题是要知道Fargate
在/tmp
文件夹中的行为。
注意2:我不需要/tmp
文件夹中的文件,它们恰好出现在那里,我想知道我是否需要删除它们,或者ECS
是否会为我这样做。
我在文档中找不到任何相关内容。如果有人在文档上指出该主题,我会很乐意接受答案。
如果我正确理解您的问题,您似乎希望更精确地控制容器中的临时存储。
我认为ECS或Fagate对容器内FS上的/ tmp文件夹没有任何特殊之处。
但是,docker确实有一个tmpfs mount的概念。这允许您指定一个允许您避免在容器主机上存储数据的路径。
https://docs.docker.com/storage/tmpfs/
ECS和Fargate最近增加了对tmpfs标志的支持:
如果我理解正确,在你的Fargate任务结束运行后,所有存储都会消失。
根据aws documentation的说法,Fargate任务在配置时会收到一些存储空间,但这是一个短暂的存储空间。
因此,除非您使用永久运行的任务,否则您不需要处理临时文件。他们将与存储一起消失。
我希望这有帮助。