我们的应用程序是DEA上少数几个运行的应用程序之一。在DEA上,我们能够使用特定的自定义buildbpack:
https://github.com/ihuston/python-conda-buildpack
现在我们必须继续运行迭戈运行时,我们在推送应用程序时耗尽了空间。我相信磁盘空间只在暂存期间需要,因为很多库都带有buildpack并且必须构建(我们需要整个科学python堆栈,它们都包含在上面的buildpack中)。
构建脚本输出一切正常,但应用程序无法启动。然后日志显示:
2016-10-13T19:10:42.29+0200 [CELL/0] ERR Copying into the container failed: stream-in: nstar: error streaming in: exit status 2. Output: tar: ./app/.conda/pkgs/cache/db552c1e.json: Wrote only 8704 of 10240 bytes
以及更多文件:
2016-10-13T19:10:42.29+0200 [CELL/0] ERR tar: ./app/.conda/pkgs/cache/9779607c273dc0786bd972b4cb308b58.png: Cannot write: No space left on device
然后
2016-10-13T20:16:48.30+0200 [API/0] OUT App instance exited with guid b2f4a1be-aeda-44fa-87bc-9871f432062d payload: {"instance"=>"", "index"=>0, "reason"=>"CRASHED", "exit_description"=>"Copying into the container failed", "crash_count"=>14, "crash_timestamp"=>1476382608296511944, "version"=>"ca10412e-717a-413b-875a-535f8c3f7be4"}
尝试添加更多磁盘配额(1G以上)时出现错误:
Server error, status code: 400, error code: 100001, message: The app is invalid: disk_quota too much disk requested (must be less than 1024)
有没有办法增加一点空间?至少对于构建过程?
答案 0 :(得分:2)
您可以像使用.cfignore
文件一样使用.gitignore
文件,以排除任何不需要的文件cf push
。也许如果你真的只推动必要的东西,磁盘空间就足够了。
https://docs.developer.swisscom.com/devguide/deploy-apps/prepare-to-deploy.html#exclude
答案 1 :(得分:2)
来自https://github.com/ihuston/python-conda-buildpack的conda安装程序默认安装英特尔MKL库。现在这通常是一件好事,但似乎占用太多空间,因此无法部署。
我调整了buildpack并添加到了行
d-m-Y
标志 $CONDA_BIN/conda install --yes --quiet --file "$BUILD_DIR/conda_requirements.txt"
nomkl
如连续博客文章中所述:
https://www.continuum.io/blog/developer-blog/anaconda-25-release-now-mkl-optimizations
然后这将使用OpenBLAS而导致更小的Droplet(175M而不是330MB),并且部署可以成功完成。