2017-01-04 9 views
-1

私は2つのサーバを持っています。それぞれがあるデータを別のデータに送る必要があります。他のサーバのアドレスは引数として渡されます(--servers ...)。まだ作成されていないDocker内の別のコンテナをリンクする方法

dmserver0のコンテナが作成されると、コンテナがまだ作成されていないため、ホスト "dmserver1"が見つかりません。リンクを使用すると、再帰性のためにエラーが発生します。

どうすればこの問題を解決できますか?

これは私のドッキングウィンドウ-compose.ymlです:

services: 
    dmserver0: 
    build: . 
    command: nodejs dmserver.js --servers 'tcp://dmserver1:2221' 
    container_name: dmserver_0 

    dmserver1: 
    build: . 
    command: nodejs dmserver.js --servers 'tcp://dmserver0:2220' 
    container_name: dmserver_1 

そして、これは私のDockerfileです:

FROM node:boron 

RUN mkdir -p /var/www/forum 
WORKDIR /var/www/forum 

RUN apt-get update 
RUN apt-get install -y libzmq-dev 

RUN ln -s /usr/bin/nodejs /usr/bin/node 

ADD package.json /var/www/forum 
RUN npm install 

ADD . /var/www/forum 

答えて

0

ドッカーはこれであなたを助けることはできません。これは、サーバーアプリケーションのアーキテクチャ上の問題です。

解決方法は、サーバーの接続機能を変更することです。失敗した接続で終了する代わりに、両方のサーバーで再試行ループを開始する必要があります。

これにより、両方のサーバーが生き生きとし、任意のタイムスパンでお互いに接続できるようになります。このアプローチは、堅牢で、起動期間に影響を与える外部要因とは無関係であるという利点があります。

関連する問題