我有两台服务器。每个人都必须将一些数据发送到另一个。其他服务器(或多个服务器)的地址作为参数传递(--servers ...)。
问题是当创建dmserver0的容器时,它找不到主机" dmserver1"因为它的容器尚未创建。如果我使用链接,则由于递归而出现错误。
我怎么能解决这个问题?
这是我的docker-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 :(得分:0)
Docker无法为您提供帮助。这是服务器应用程序中的体系结构问题。
解决方案是修改服务器的连接功能。您不需要在失败的连接上退出,而是需要在两个服务器中输入重试循环。
这将允许两台服务器在任意时间段内活跃并相互连接。这种方法具有强大的优势,可以独立于影响启动期的外部因素。