2017-10-02 9 views
0

私はdockerを初めて使用しています。私はdocker swarmを介して分散型Javaアプリケーションを実行しようとしています。 私はdocker-compose upコマンドを使って1つのノードでそれをテストしました。私はDocker swarmの分散Javaアプリケーション

docker stack deploy --compose-file myfile.yml myapp 

コンポーネント「イム」コンポーネント「オーケストレーター」

が、私はラベル「オーケストレーター」を使用して接続できないコマンドを使用して、それをサービスとして展開しようとした

コンポーネントのIPアドレスとして(簡単な構成で動作します)

助けてください?

version: "3" 
services: 
    zk: 
     image: xxx/cep 
     deploy: 
     mode: replicated 
     replicas: 1 
     entrypoint: /ext-sw/zookeeper-3.4.5/bin/zkServer.sh 
     command: start-foreground 
     ports: 
     - 2181:2181 
     networks: 
     - cepnet 
    orchestrator: 
     image: xxx/cep 
     deploy: 
     mode: replicated 
     replicas: 1 
     entrypoint: /bin/runOrchestrator 
     ports: 
     - 9000:9000 
     depends_on: 
     - zk 
     networks: 
     - cepnet 
    im: 
     image: xxx/cep 
     deploy: 
     mode: replicated 
     replicas: 1 
     entrypoint: /bin/runIM -IP im -PORT 9901 -ID im1 -LOGID im1 
     ports: 
     - 9901:9901 
     depends_on: 
     - orchestrator 
     networks: 
     - cepnet 
networks: 
    cepnet: 
enter code here 

EDIT: としては、私の元の問題は、コンテナにドッキングウィンドウによって割り当てられたIPによるものであったコメントで言った私のコンファイル

の下に、私はコンファイルを作成しました。

サービス名でpingコマンド実行の出力以下とホスト名
[email protected]:~# ping orchestrator 
PING orchestrator (10.0.0.9) 56(84) bytes of data. 
64 bytes from 10.0.0.9: icmp_seq=1 ttl=64 time=0.032 ms 
64 bytes from 10.0.0.9: icmp_seq=2 ttl=64 time=0.034 ms 
64 bytes from 10.0.0.9: icmp_seq=3 ttl=64 time=0.033 ms 
^C 
--- orchestrator ping statistics --- 
3 packets transmitted, 3 received, 0% packet loss, time 2010ms 
rtt min/avg/max/mdev = 0.032/0.033/0.034/0.000 ms 
[email protected]:~# ping $(hostname) 
PING 90cfe6fc88ed (10.0.0.10) 56(84) bytes of data. 
64 bytes from 90cfe6fc88ed (10.0.0.10): icmp_seq=1 ttl=64 time=0.055 ms 
64 bytes from 90cfe6fc88ed (10.0.0.10): icmp_seq=2 ttl=64 time=0.018 ms 
64 bytes from 90cfe6fc88ed (10.0.0.10): icmp_seq=3 ttl=64 time=0.014 ms 
^C 
--- 90cfe6fc88ed ping statistics --- 
3 packets transmitted, 3 received, 0% packet loss, time 2033ms 
rtt min/avg/max/mdev = 0.014/0.029/0.055/0.018 ms 

答えて

0

documentationdepends_onで述べたように群れでサポートされていません。あなたのアプリケーションは、あなたが依存しているサービスの1つが実行されていない状況に対処できなければなりません(例えば、利用可能になるまで再接続しようとするなど)。

これが本当に問題であるかどうかをテストしたい場合は、ドッカーが接続に問題があったサービスを停止します。それがうまくいくならば、それは明らかに、他のサービスがすでに実行されていることを期待する問題です。

+0

"集団クラスタ"が起動しています。最初は3つのノードで構成されていましたが、1つのノードで2つのノードをテストしました。 – Valerio

+0

更新前は、オーケストレーターはサービスではありませんでした。私の編集した答えを確認してください – herm

+0

あなたの答えをありがとう。問題はポートのようです。私が作ってアプリを起動すると、私はimマシンから "telnet im 9000"というコマンドを実行することができます。私がスタックを展開して起動すると、私はテルネットに接続できません – Valerio

関連する問題