2016-10-17 2 views
1

の内側にマラソンからIP /ポートをassgined取得私はマラソンの自動割り当て「ポート」機能を使用して、(ドッカーコンテナにコンテナに)マラソン複数の類似サーバーを介して展開するアプリケーションを持っています。それは私のアプリで必要な方法ですごく楽しいです。動的コンテナ

問題は、Marathon(PyWPSサーバ)に配備されている私のサーバが、最新の分散アーキテクチャにはうまく適合しないコードを使用していることです。 PyWPSは静的な設定ファイル、クライアントアプリケーションからのポーリングのためのIPとポートを定義します。

私は自分のコンテナに静的IP /ポートを持っているとき、設定ファイルを持っているコンテナの起動時に(コンテナ内の)スクリプトを実行して、正しいIP /ポート値を私がコンテナを起動するコマンドラインで設定したENVVAR。

未定義の動的IP /ポートを使用するときに問題が発生します。 イベント "container_start"フックのようにMarathonによって展開されたときにコンテナ内のこれらの情報をキャッチする方法はありますか?

答えて

2

私が正しく理解している場合は、これは説明したのと同様の方法で簡単に解決できます。例えば

あなたがホストのネットワークと(例えば"ports": [0]を指定することによって)ランダムなポートを使用してアプリケーションを実行した場合、その後、マラソンは$HOST$PORT0環境変数を設定します。同様の方法で手動で設定する必要はありません。

次に、エントリポイントスクリプトでこれら2つの環境変数に基づいて設定を操作させ、完全に動的なip/port設定を行う必要があります。

+0

あなたのanwserのためのTobiありがとうございました。 私は最終的に私のサーバのコードにパッチを当てました。それは私のケースではもっと簡単だったからです。あなたのソリューションも同様に動作します。 – matt

+0

@matt少し説明できますか?どのようにパッチを適用しましたか? – Tobi

+0

[ここ](http://gis.stackexchange.com/questions/214454/dynamic-ips-for-polling-and-results-requests-using-pywps)は私がPyWPSにパッチを当てて、行動を求めた – matt

関連する問題