2017-04-12 7 views
0

現在、私はマイクロサービスアプリケーションをドッキングしており、サービス発見にConsulを使用しています。だから、すべてのサービスは領事と自分自身を登録し、また領事から環境変数を取得します。ドッキングされていないマイクロサービスアプリケーションの開始スクリプトは、Consul ip:ポートをユーザーから受け取り、他のすべてのマイクロサービスに転送します。しかし、それぞれの容器は独立しているので、どのようにしてドッキングされたマイクロサービスアプリケーションのために同じものを複製するのですか?また、すべてのサービスは領事館に登録する必要がありますが、領事館はありません。サービスレジストリの領事のIPアドレスを他のマイクロサービスに知らせる方法

必要なマイクロサービスアプリケーションのそれぞれでconsul ip:portをハードコードすることはできますが、それはエレガントな方法だとは思いません。どのように他のサービスに領事館を知ってもらうためのアイデアはありますか?

何か助けていただければ幸いです。

答えて

0

あなたはあなたのドッカーズに環境変数(S)(docker runコマンドの-e

+0

素晴らしい!ドッカーの作成を使って、これを環境変数として渡すことはできますか? –

+0

https://docs.docker.com/compose/reference/run/ –

0

領事がDNS interfaceを提供として領事IP &ポートを渡すことができます。あなたはあなたがではない場合は実際にサービスの発見のすべての種類を行うIPアドレスを使用しないでください。

あなたのDNSインフラストラクチャにDNS Forwardingを設定し、次にconsul.service.consulを検索してください。

関連する問題