2017-10-12 5 views
0

ノードアプリケーションでREST APIを公開しています。 httpリクエストを受信すると、別の/別のノードアプリを起動し、「サービスアプリ」と呼ぶことにします。別のノードからノードアプリケーションを起動するドッカーコンテナ内で実行するアプリケーション

RESTアプリはコンテナ内で実行され、サービスアプリを起動する最も簡単な方法は、child_process.exec(ちょうどpm2ですが)を呼び出すことですが、同じコンテナ内で実行します。 RESTアプリが複数のリクエストを取得した場合、この1つのコンテナソリューションは規模が拡大しません。

それで、RESTアプリが独自のコンテナ内で実行されているサービスアプリを起動できる可能性はありますか?はいの場合、それを行う方法?

私はROCKアプリをドッカーで動かすように提案しました。リクエストを受け取ったら、サービスアプリの別のドッカーサービスを開始するだけです。しかし、私はそれをどうやって行うのか分かりませんし、それは可能です。

私はドッカーには新しく、アドバイスをいただければ幸いです。ありがとう!

答えて

0

たとえば、/ var/run/docker.sockファイルをコンテナ自体にバインドマウントする(-vフラグをドッカー実行にバインドする)ことによって、コンテナ内部からドッカーを制御できます。しかし、誰かがそれにアクセスすると、マシンへのルートアクセスを与えることと多かれ少なかれ同等になりますので、非常に注意してください。最も安全な方法は、別のコンテナで実行される2番目のRESTアプリケーションを作成し、尋ねられたときに新しいコンテナを開始することです。その後、最初のアプリから呼び出すことができ、アプリだけでコンテナのみが起動することを確認してください。

関連する問題