如何链接Docker中尚未创建的另一个容器

时间:2017-01-04 15:35:27

标签: networking docker hyperlink containers

我有两台服务器。每个人都必须将一些数据发送到另一个。其他服务器(或多个服务器)的地址作为参数传递(--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

1 个答案:

答案 0 :(得分:0)

Docker无法为您提供帮助。这是服务器应用程序中的体系结构问题。

解决方案是修改服务器的连接功能。您不需要在失败的连接上退出,而是需要在两个服务器中输入重试循环。

这将允许两台服务器在任意时间段内活跃并相互连接。这种方法具有强大的优势,可以独立于影响启动期的外部因素。