【问题标题】:Deploying with a Procfile to dokku interferes with 'dokku run'使用 Procfile 部署到 dokku 会干扰“dokku run”
【发布时间】:2015-01-31 13:51:33
【问题描述】:

我最近添加了dokku-shoreman 插件和Procfile,以便我的应用在部署时同时运行一个worker web 进程。它看起来像这样:

web: bundle exec rails server -p $PORT
worker:  bundle exec rake jobs:work

但是,现在当我使用dokku run <app> <cmd> 时,例如...rake db:migrate 服务器和工作人员开始运行

目前我知道如何运行工人的唯一方法是使用Procfile。部署后手动启动它不是什么大问题 - 只是我不知道如何。

虽然理想的情况仍然是让Procfiledokku run 都工作。

【问题讨论】:

    标签: ruby-on-rails dokku procfile


    【解决方案1】:

    更新 2 Dokku 现在支持 http://dokku.viewdocs.io/dokku/deployment/process-management/

    更新:首先结帐dokku-alt(不再维护) - 这是我改用的。

    这是一个带有 dokku 的known issue

    这是一个temporary solution,在对我有用的问题讨论中有详细说明:

    1. 将实际Procfile 重命名为Procfile.real
    2. 创建一个新的Procfile,内容如下:

      web: bundle exec foreman start -f Procfile.real

    3. gem 'foreman' 添加为Gemfile 中的部门
    4. 运行bundle install
    5. 提交Procfile*Gemfile*

    【讨论】:

    • 知道如何将此临时解决方案用于非 Ruby 应用程序吗?我正在使用 Python,因此没有 Gemfile :/
    • 对不起,我真的不知道。 github 问题讨论仅针对 Rails 应用程序。我建议在此处使用适当的标签发布此问题的 Python“版本”或在此处添加问题:github.com/progrium/dokku/issues
    • 请注意,dokku-alt 项目不再积极维护
    • Dokku 现在直接支持 Procfiles。使用 Shoreman 或通过工头手动执行 Procfile 不是一个好习惯,所以请使用我们正常的 Procfile 支持,如文档中所述 here
    • @JoseDiaz-Gonzalez 谢谢 - 我已将其添加为答案顶部的更新。
    猜你喜欢
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多