我正在向Google应用引擎托管虚拟机(灵活环境)写入文件。我已将代码部署到云中。代码打开文件,并写入它没有显示错误,如权限错误。但是,我的另一个代码试图打开文件失败,“没有这样的文件或目录”。如何在Google应用引擎托管虚拟机上写入本地文件
我已经打印了位置目录,所以我用ssh命令,也找不到管理vm里面的文件。而且我找不到有关将文件写入托管虚拟机本地存储的文档。
那么如何将其写入管理虚拟机?什么是默认存储位置?为什么我找不到该文件?
我正在向Google应用引擎托管虚拟机(灵活环境)写入文件。我已将代码部署到云中。代码打开文件,并写入它没有显示错误,如权限错误。但是,我的另一个代码试图打开文件失败,“没有这样的文件或目录”。如何在Google应用引擎托管虚拟机上写入本地文件
我已经打印了位置目录,所以我用ssh命令,也找不到管理vm里面的文件。而且我找不到有关将文件写入托管虚拟机本地存储的文档。
那么如何将其写入管理虚拟机?什么是默认存储位置?为什么我找不到该文件?
在VM内找不到文件的原因是因为VM正在运行Docker容器,而您的应用实际上是在该容器内。如果你真的想,你可以docker exec -it <container-name> -- /bin/bash
在容器内部晃动,然后你应该看到你的文件(使用docker ps
找到容器ID)。
在App Engine灵活(托管虚拟机的新名称)上,您的代码可以跨多个容器进行缩放,因此不会承诺您稍后可以访问您写入的文件。你可以脱离处理一些写入一些/ tmp文件,但没有更多。将数据写入Cloud Datastore,Cloud SQL,Memcache或Cloud Storage等任何数据都会更好。
该文件是否可以写入另一个已被销毁的实例?作为开始,我会写入'/ tmp',这通常是可写入所有用户的。 – konqi
我试过了,也找不到那里的文件。它在码头集装箱 – Weiming