我正在将文件写入Google App Engine管理的vm(灵活环境)。我已将代码部署到云中。该代码打开了文件并写入了文件,没有显示错误,例如权限错误。但是,我尝试打开文件的另一个代码失败,并显示“无此文件或目录”。
我已经打印了位置目录,所以我使用了ssh命令,也找不到托管虚拟机中的文件。而且我找不到任何有关将文件写入托管VM的本地存储的文档。
那么如何将其写入托管虚拟机?默认存储位置是什么?为什么找不到文件?
在VM内找不到文件的原因是因为VM正在运行Docker容器,而您的应用程序实际上在该容器内。如果确实需要,您可以docker exec -it <container-name> -- /bin/bash
在容器内部四处浏览,然后应该看到您的文件(用于docker ps
查找容器ID)。
在App Engine flexible(托管VM的新名称)上,您的代码可以跨多个容器进行缩放,因此无法保证您稍后写入的文件将可以访问。您可以摆脱对一些/ tmp文件的写操作,但不能做更多。如果将任何数据写入Cloud Datastore,Cloud SQL,Memcache或Cloud Storage之类,您会变得更好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句