私は6個のマイクロサービスをドッキング用のコンテナで梱包しています。すべてのswarmノードで、私は領事エージェントをインストールし、ホストのIPにバインドして、クライアントを0.0.0.0モードでインストールしました。 すべてのマイクロサービスは、私がSwarmマネージャーから実行しているドッカー作成ファイルにあります。 マイクロサービスはJavaとbootstrap.ymlで書かれています。私はconsul agent endpointを指定する必要があります。可能な選択肢は次のとおりです。Docker swarm、Consul and Spring Boot
- localhostの
- $ {HOSTIP}環境変数
問題: - ローカルホストは、ホストのローカルホストが、コンテナはlocalhostではない、と私は上の領事エージェントを持っていませんコンテナのローカルホストがホストです。 - $ {HOSTIP}の作成ファイルでこのenv varを指定する必要があります。しかし、Swarm MAnagerがマイクロサービスの開始をスケジュールする場所はわからないので、どのIPアドレスが使用されるのか分からない。
各ノードのホストIPアドレスに公開しようとしましたが、マネージャから作成を実行しているので、この変数は読み取れません。
これを解決する方法はありますか?私は領事クラスター、3マネージャー、3ノードを持っています。各マネージャーとノード上で私は領事代理店を(ドッカーのコンテナとして)開始しました。私が使っているネットワーキングのタイプに関係なく、私はマイクロサービスを起動できません。私は領事を - net = hostと--net = bridgeのように始めましたが、これはうまくいきません。
考えている人はいますか? ありがとうございます。
[この記事を読む](http://blog.nimbleci.com/2016/08/17/how 1000ノード・ドッカー・スウォーム/にセットアップ・アンド・デプロイしてください。 [これも1つ](http://stackoverflow.com/questions/34365604/how-to-create-docker-overlay-network-between-multi-hosts/34434948#34434948)。 – Auzias
v1.12の新しいDocker Engine swarm機能をチェックアウトします。サービスディスカバリが組み込まれました。コンテナのインスタンスを追跡するために領事の使用をもう必要としない場合があります。 https://docs.docker.com/engine/swarm/。ロードバランサを新しいスウォームモードに統合する方法について詳しく説明している次のことをお勧めします。https://technologyconversations.com/2016/08/01/integrating-proxy-with-docker-swarm-tour-around-docker-1 -12-シリーズ/ –