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