我尝试将我的应用推送到Cloud Foundry,但收到此错误:
Staging failed: Exited with status 223 (out of memory)
在解析requirements.txt
时会发生这种情况。
这是一些堆栈跟踪:
/tmp/buildpacks/555e1c5491df8298a7d2ee82e346f99b/bin/steps/pip-install: line 25: 122 Killed /app/.cloudfoundry/python/bin/pip install -r requirements.txt --exists-action=w --src=/app/.cloudfoundry/src
123 Done | cleanup
124 Done | indent
Failed to compile droplet
Exit status 223
Staging failed: Exited with status 223 (out of memory)
Destroying container
Successfully destroyed container
到目前为止我尝试将环境变量unmask设置为0022,因为可以通过这种方式解决与java buildpack类似的错误。
非常感谢任何帮助,如果您需要进一步的信息,请告诉我。
答案 0 :(得分:0)
您的申请未能上台。看起来该平台正在查杀pip
,因为它超出了分配给登台容器的内存限制。分段容器的内存限制为1G或您为应用程序分配的内存限制,无论哪个更大。
鉴于此,我建议解决此问题的方法是将应用的内存限制增加到1G以上,也可以尝试2G,然后查看pip
是否能够完成。登台完成后,如果您的应用程序不需要那么多内存,您可以运行cf scale -m
并减少应用程序的内存使用量。
其他可能的解决方案:
在本地运行pip
并在您的依赖项中"vendor"运行。然后,您可以使用可能会降低pip
内存消耗的应用程序来推送依赖项。
调查pip
占用如此多内存并尝试减少内存使用量的原因。
希望有所帮助!
答案 1 :(得分:0)
这是因为你没有足够的内存来将应用推送到云代工厂。您可以通过删除未使用的应用程序来释放组织中的内存。
答案 2 :(得分:0)
我有一个类似的问题。我的虚拟环境(使用virtualenv程序包创建)属于要部署到PCF的文件夹。将其添加到.cfignore
会忽略虚拟环境文件夹。