如何在 Google 应用引擎托管的 VM 上写入本地文件



我正在将文件写入Google应用引擎托管的VM(灵活环境)。我已将代码部署到云中。代码打开并写入文件,而不会显示权限错误等错误。但是,我的另一个代码尝试打开文件失败,并显示"没有这样的文件或目录"。

我已经打印了位置目录,所以我使用了 ssh 命令,也无法在托管 vm 中找到该文件。而且我找不到任何有关将文件写入托管 VM 的本地存储的文档。

那么如何将其写入托管虚拟机呢?默认存储位置是什么?为什么我找不到文件?

在 VM

中找不到该文件的原因是,VM 正在运行 Docker 容器,而你的应用实际上位于该容器内。如果你真的想,你可以docker exec -it <container-name> -- /bin/bash在容器内四处逛逛,然后你应该看到你的文件(使用 docker ps 查找容器 ID)。

在 App Engine 灵活版(托管虚拟机的新名称)上,您的代码可以跨多个容器进行扩展,因此无法保证您写入其中的文件以后可以访问。您可以侥幸处理一些写入某些/tmp 文件,但不能更多。您将更好地将任何数据写入Cloud Datastore,Cloud SQL,Memcache或Cloud Storage之类的东西。

相关内容

  • 没有找到相关文章

最新更新