为何Heroku应用写入的文件无法通过heroku run bash命令查看
Heroku应用写入本地文件后通过heroku run bash无法找到的原因
- Heroku dyno采用临时文件系统设计:每个运行中的dyno都拥有独立的临时文件存储空间,所有写入本地磁盘的内容仅对当前dyno可见,且仅在当前dyno的运行周期内有效。只要触发dyno重启、应用重新部署、实例缩放等操作,所有本地写入的文件都会被清空重置,不会持久化留存。你部署的API服务运行在web类型的dyno上,写入的txt文件仅存在于这个web dyno的本地空间中,其他dyno无法直接访问。
heroku run bash会启动独立的一次性dyno:执行该命令时,Heroku不会进入你正在运行的web dyno,而是为你单独分配一个全新的、初始化完成的空白dyno,和运行API服务的web dyno是完全隔离的两个运行环境,因此无法找到web dyno中写入的文件。
补充说明:Heroku平台不支持使用dyno本地文件系统存储持久化数据,如果有文件存储需求,需要对接数据库、对象存储等外部存储服务。
内容的提问来源于stack exchange,提问作者VdfX89
相关产品推荐
相关产品推荐

