与运行进程和heroku运行bash不同的文件

与运行进程和heroku运行bash不同的文件,bash,heroku,Bash,Heroku,我通过heroku run bash访问了dyno,并创建了一个文件foo。但是,当我从我的应用程序中检查时,它仍然找不到foo。因此,我尝试在dyno上安装nginx,打开自动索引,并确认这些文件不同于通过heroku run bash和nginx访问的文件。为什么呢?如何将文件放入显示运行进程的文件系统。当您发布heroku run bash时,将仅为这一次创建一个新的dyno,并授予您访问它的权限。您创建的任何文件都将在注销后“消失”,因为Heroku文件系统是短暂的 这意味着每当创建新的

我通过heroku run bash访问了dyno,并创建了一个文件
foo
。但是,当我从我的应用程序中检查时,它仍然找不到
foo
。因此,我尝试在dyno上安装nginx,打开
自动索引
,并确认这些文件不同于通过
heroku run bash
和nginx访问的文件。为什么呢?如何将文件放入显示运行进程的文件系统。

当您发布
heroku run bash
时,将仅为这一次创建一个新的dyno,并授予您访问它的权限。您创建的任何文件都将在注销后“消失”,因为Heroku文件系统是短暂的

这意味着每当创建新的dyno或重新启动dyno时,文件系统都会恢复到其原始状态。“本机”状态是指你的slug中的内容——你的应用程序的“编译”版本——在你将git推送到Heroku之后,构建包生成的任何内容

如果您想要一个只读文件可供所有Dynos使用,可以将其放在slug中(例如:通过将其包含在git中,但也可以使用不同的构建包),或者将其放在所有Dynos都可以访问的地方(例如共享数据库、Redis/Memcache实例,或者最符合逻辑的:S3)