如何从已部署的应用程序创建的cloudfoundry中获取输出文件?

问题描述

我已经在cloudfoundry上部署了Windows exe,现在我想从exe生成的cloudfoundry中取回文件。 是否可以使用批处理脚本检索文件

解决方法

请务必注意,您不会对本地文件系统写任何重要的内容。本地文件系统为临时,因此,如果您的应用由于某种原因而崩溃/重新启动,则在获取文件之前,它们就会消失。

话虽如此,如果您有一个正在处理某些程序并生成输出文件的应用程序,建议的处理方法是让进程将这些文件写入外部持久的位置,例如数据库,SFTP服务器或S3。兼容的服务。简而言之,将文件推出某个位置,而不要尝试进入容器来获取文件。


如果必须将它们从容器中拉出,则有两种选择:

  1. 在容器中运行小型HTTP服务器并公开其中的文件。确保您已适当保护服务器的安全,以防止未经授权的文件访问。

  2. 运行scpsftp并下载文件。可以找到here的相关说明,但是粗略地说,您运行cf app app-name --guid来获取应用程序的向导,cf ssh-code来获取密码,然后运行scp -P 2222 -oUser=cf:<insert app-guid>/0 ssh.system_domain:my-remote-file.json ./来获取名为my-remote-file.json。显然,将路径/文件更改为要下载的文件。