Dokku:从应用程序收听多个端口

时间:2014-08-07 13:58:58

标签: nginx docker dokku

我正在使用dokku部署节点应用程序(带快递js)。我的应用程序包含2个快速js应用程序,可以收听两个不同的端口。一个是主应用程序,另一个是 kue 的Web界面 - 节点js的简单作业队列。 当我部署应用程序时,我需要运行这两个应用程序并访问端口80上的主应用程序和其他端口上的kue(最好是快速应用程序侦听的端口)。

我已将这两个应用程序放在Procfile上,如:

web: server=thats-wow NODE_ENV=production node server/app.js
worker: node server/kueUi.js

proc文件的多个进程由dokku-supervisord插件处理:https://github.com/statianzo/dokku-supervisord(它支持所有进程类型:web,worker等)。

我已经尝试了两个' web'和'工人'对于第二个应用程序的流程类型。

问题

在部署时,Dokku只是通过端口80访问procfile中指定的最后一个应用程序(在本例中为kueUi),似乎无法访问首先指定的应用程序。 我尝试通过第一个应用程序收听的端口访问,但是那个没有用。

我想它需要一些nginx配置来将某个端口上的请求转发到应用程序监听的docker容器中的该端口。

我需要它

1. http://example.com - reaches my main app
2. http://example.com:5000 - reaches the second app (Kue UI)

无法找到有关如何实现此目标的任何文档。非常感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

可以使用https://github.com/statianzo/dokku-shoremanhttps://github.com/statianzo/dokku-supervisord将其共同攻击,但您需要手动确保dokku主机上没有端口冲突。

解决https://github.com/progrium/dokku/issues/732后,您将能够将第二个应用程序部署为将侦听由docker分配的端口的工作程序。

答案 1 :(得分:0)

我不确定我是否误解了这个问题,但找出两个应用程序的端点可能会有所帮助?这是这样做的:

dokku url [App #1]
dokku url [App #2]

如果您正在运行nginx,则可能需要查看/opt/nginx/conf/nginx.conf