1

我们的应用程序是少数在 DEA 上运行的应用程序之一。在 DEA 上,我们能够使用特定的自定义 buildbpack:

https://github.com/ihuston/python-conda-buildpack

现在我们必须继续使用 Diego 运行时,我们在推送应用程序时会耗尽空间。我相信磁盘空间仅在暂存期间才需要,因为 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)

有没有办法给更多的空间?至少对于构建过程?

4

2 回答 2

2

您可以像使用.cfignore文件一样使用.gitignore文件来排除任何不需要的文件cf push。也许如果你真的只推送必要的东西,磁盘空间可能就足够了。

https://docs.developer.swisscom.com/devguide/deploy-apps/prepare-to-deploy.html#exclude

于 2016-10-14T07:24:08.143 回答
2

来自https://github.com/ihuston/python-conda-buildpack的 conda 安装程序默认与英特尔 MKL 库一起安装。现在这通常是一件好事,但似乎占用了太多空间,因此无法部署。

我调整了 buildpack 并添加到该行

        $CONDA_BIN/conda install --yes --quiet --file "$BUILD_DIR/conda_requirements.txt"

国旗nomkl

        $CONDA_BIN/conda install nomkl --yes --quiet --file "$BUILD_DIR/conda_requirements.txt"

如此处的连续体博客文章中所述:

https://www.continuum.io/blog/developer-blog/anaconda-25-release-now-mkl-optimizations

然后,这将使用 OpenBLAS 并产生更小的 droplet(175M 而不是 330MB),并且可以成功完成部署。

于 2016-10-14T08:30:56.820 回答