8

dokku で node アプリ (express js を使用) をデプロイしています。私のアプリは、2 つの異なるポートをリッスンする 2 つの高速 js アプリで構成されています。1 つはメイン アプリで、もう 1 つはkueの Web インターフェイスです。ノード js の単純なジョブ キューです。アプリを展開するとき、これらのアプリの両方を実行し、ポート 80 でメイン アプリにアクセスし、別のポート (エクスプレス アプリがリッスンするポートが望ましい) で kue アプリにアクセスする必要があります。

これらのアプリの両方を次のように Procfile に配置しました。

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

procfile の複数のプロセスは dokku-supervisord プラグインによって処理されます: https://github.com/statianzo/dokku-supervisord (すべてのプロセス タイプをサポートします: web、worker など)。

2 番目のアプリのプロセス タイプに「web」と「worker」の両方を試しました。

問題

デプロイ時に、Dokku は procfile で指定された最後のアプリ (この場合は kueUi) をポート 80 経由でアクセスできるようにするだけで、最初に指定されたアプリにアクセスする方法はないようです。最初のアプリがリッスンするポート経由でアクセスしようとしましたが、うまくいきません。

特定のポートのリクエストを、アプリがリッスンするdockerコンテナーのそのポートに転送するには、nginx構成が必要だと思います。

私はそれが必要な方法

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

これを達成する方法に関するドキュメントが見つかりませんでした。どんな助けでも大歓迎です!

4

2 に答える 2

2

これはhttps://github.com/statianzo/dokku-shoremanまたはhttps://github.com/statianzo/dokku-shoremanを使用して一緒にハッキングできますが、ポートの衝突がないことを手動で確認する必要がありますドックホスト。

https://github.com/progrium/dokku/issues/732が解決されると、docker によって割り当てられたポートでリッスンするワーカーとして 2 番目のアプリをデプロイできるようになります。

于 2014-10-29T12:14:08.957 に答える
0

問題を誤解しているかどうかはわかりませんが、両方のアプリのエンドポイントを見つけると役立つでしょうか? それは次のように行われます:

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

nginx を実行している場合は、/opt/nginx/conf/nginx.conf.

于 2014-10-11T13:37:49.833 に答える