【问题标题】:Deploying a non-Web app (python) on IBM Bluemix without procfile?在没有 procfile 的 IBM Bluemix 上部署非 Web 应用程序 (python)?
【发布时间】:2018-07-23 20:54:20
【问题描述】:

manifest.yml 文件:

---
applications:
 - name: myapp1
   memory: 512M
   command: python abc.py
   no-route: true

过程文件:

web: python abc.py

当我删除 Procfile 时,我的脚本不会运行,即使我已经指定了一个命令来启动清单文件中的脚本。此外,Procfile 具有 web: 的事实让我认为它正在尝试将其作为 web 应用程序运行?它并不是要作为具有开放端口的 web 应用程序运行,它只是为了建立出站连接。

【问题讨论】:

    标签: ibm-cloud cloud-foundry


    【解决方案1】:

    可能需要 procfile,具体取决于 Cloud Foundry 版本(仅限旧版本)。看到这个Python buildpack information

    您可以使用清单文件中的command 部分来指定start command(如您的示例所示)。

    如果您的应用不是网络应用且没有路由,请you need to specify the no-route option in the manifest file。否则,运行状况检查器将失败,因为它会尝试将您的应用作为“网络应用”访问并测试其可访问性。

    【讨论】:

    • 除了no-route,还需要加上health-check-type: process。设置no-route 过去就足够了,但配置健康检查不久前被解耦到它自己的设置中。您现在可以直接将运行状况检查设置为processno-route 更像是一种形式,因为没有流量可以路由到应用程序,所以不映射路由是有意义的。
    • 只需在清单中使用cf push -ccommand: 就足以运行Python 应用程序(有一个记录在案的例外情况是CF v245,该版本现在已经很老了)。您将收到来自 buildpack 的警告,提示您没有 Procfile,但您可以忽略它。我用这种方式运行了很多 Python 应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    相关资源
    最近更新 更多