2017-11-07 21 views
2

WSO2ドッカー展開パターンをテストし、そのパターンを使用して統合ソリューションを構築したいと考えています。具体的には、apim pattern-0ei pattern-5を使用しています。ポート競合を避けるために、2つの異なるドッカーマシンにapimパターンとeiパターンを配備しました。WSO2 APIMとEIドッカーパターン統合

*「EIドッキングウィンドウマシンのIP」ui.integrator.wso2.com integrator.wso2.com

」:私はまた、宿主内で次のエントリは、両方のドッキングウィンドウのマシンだけでなく、ローカル・ホスト・マシン上のファイルを追加しましたapim-dockerマシンのip "api-manager *

これで非常に簡単なhealthcare apiを作成し、それをeiクラスタにデプロイしました。私はホストから正常にアクセスできるヘルスケアAPIを検証しました: "curl -v http://integrator.wso2.com:80/healthcare/querydoctor/surgery"。

私はapiで、eiクラスタからヘルスケアAPIにアクセスする新しいREST APIを実装し公開しました。しかし、ホストからこの新しいapimのAPIにアクセスすると、私は常に内部エラーコード101503とエラーの説明の500応答を返します。エラーバックエンドに接続しています。また、apimのhttpワイヤログにの接続が拒否されたか失敗した:integrator.wso2.com:80と表示されます。

私のホストマシンは、Ubuntu 16.04LTS、ドッカーバージョン17.09.0-ce、HttpRequesterアドオン付きFirefoxを使用しています。

私の展開でapimがeiからヘルスケアAPIにアクセスできない理由はありますか? WSO2ドッカーのパターンを使用して統合ソリューションを構築する方法についてのガイドラインがある場合は、評価してください。

+0

このURLは、apimドッカーのコンテナの内側からアクセス可能である必要があります。ホストマシンからではありません。 http://integrator.wso2.com:80/healthcare/querydoctor/surgery。 –

+0

はい、それが問題です。 urlはapimドッカーコンテナの内部からアクセスできないようですが、ホストマシンからアクセスできます。何が原因か分かりますか? –

答えて

0

この問題は、ホスト上に作成した2つのDockerマシンで使用されている可能性のあるホストのみのネットワークが原因で発生している可能性があります。 APIマネージャドッカーコンテナは、2つのDockerマシン間にDNS解決メカニズムがないため、WSO2 Enterprise Integrator(integrator.wso2.com)のドメイン名を解決できません。

この問題を解決する最も簡単な方法は、Docker Composeテンプレートの1つのポートをオフセットし、APIマネージャとWSO2 Enterprise Integratorの両方を同じDockerマシンで実行することです。各WSO2コンポーネントのポートオフセットは、repository/conf/carbon.xmlファイルで設定できます。

+0

答えをありがとう。 Docker ComposeテンプレートのAPIマネージャポートをオフセットし、ドッカーマシンを実行します。 APIマネージャはAPIリクエストでEIにアクセスできます。どうもありがとう。 –

関連する問題