Docker 无法从一个容器连接到另一个容器

Docker 无法从一个容器连接到另一个容器,docker,docker-compose,Docker,Docker Compose,我有3个docker集装箱。应用程序、mongodb和elasticsearch 当我从应用程序连接到mongodb时,它看起来如下所示: mongoose.connect('mongodb://<name_of_the_container>/<database_name>'); version: "2" services: 3dominator: build: . image: 3dominator:0.1 container_name:

我有3个docker集装箱。应用程序、mongodb和elasticsearch

当我从应用程序连接到mongodb时,它看起来如下所示:

mongoose.connect('mongodb://<name_of_the_container>/<database_name>');
version: "2"
services:
  3dominator:
    build: .
    image: 3dominator:0.1
    container_name: 3dominator
    environment:
      NODE_ENV: development
      DB_ENV: container
        ports:
          - "3004:3004"
    volumes:
      - ./src:/app/src
    links:
      - 3dominatordb
      - 3dominatores
  3dominatordb:
    image: mongo:3.4.1
    volumes:
      - ./data/mongodb/db:/data/db
    ports:
      - "27017:27017"
    container_name: 3dominatordb
 3dominatores:
    image: elasticsearch:latest
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      ES_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
      - elk
    container_name: 3dominatores
    links:
      - 3dominatordb
networks:
  elk:
    driver: bridge
它在连接时不会发出任何错误的叫声,但当我尝试访问elasticsearch时,它会大声喊叫:
错误:没有活的连接

我的docker-compose.yml如下所示:

mongoose.connect('mongodb://<name_of_the_container>/<database_name>');
version: "2"
services:
  3dominator:
    build: .
    image: 3dominator:0.1
    container_name: 3dominator
    environment:
      NODE_ENV: development
      DB_ENV: container
        ports:
          - "3004:3004"
    volumes:
      - ./src:/app/src
    links:
      - 3dominatordb
      - 3dominatores
  3dominatordb:
    image: mongo:3.4.1
    volumes:
      - ./data/mongodb/db:/data/db
    ports:
      - "27017:27017"
    container_name: 3dominatordb
 3dominatores:
    image: elasticsearch:latest
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      ES_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
      - elk
    container_name: 3dominatores
    links:
      - 3dominatordb
networks:
  elk:
    driver: bridge
PS:docker和elasticsearch

编辑

我在上面发现了这个错误:

Elasticsearch ERROR: 2017-03-23T15:45:04Z
  Error: Request error, retrying
  POST http://3dominatores:9200/projects/project/58d3ed8059ff2d001e5ae4a2 => socket hang up
  at Log.error (/app/node_modules/elasticsearch/src/lib/log.js:225:56)
  at checkRespForFailure (/app/node_modules/elasticsearch/src/lib/transport.js:240:18)
  at HttpConnector.<anonymous> (/app/node_modules/elasticsearch/src/lib/connectors/http.js:162:7)
  at ClientRequest.wrapper (/app/node_modules/lodash/lodash.js:4968:19)
  at emitOne (events.js:96:13)
  at ClientRequest.emit (events.js:188:7)
  at Socket.socketOnEnd (_http_client.js:345:9)
  at emitNone (events.js:91:20)
  at Socket.emit (events.js:185:7)
  at endReadableNT (_stream_readable.js:974:12)
  at _combinedTickCallback (internal/process/next_tick.js:74:11)
  at process._tickDomainCallback (internal/process/next_tick.js:122:9)


/app/src/models/ProjectModel.js:56
            if (err) throw err;
                     ^
Elasticsearch错误:2017-03-23T15:45:04Z
错误:请求错误,正在重试
邮递http://3dominatores:9200/projects/project/58d3ed8059ff2d001e5ae4a2 =>插座挂断
在Log.error(/app/node_modules/elasticsearch/src/lib/Log.js:225:56)
在checkRespForFailure(/app/node_modules/elasticsearch/src/lib/transport.js:240:18)
在HttpConnector上。(/app/node_modules/elasticsearch/src/lib/connectors/http.js:162:7)
在ClientRequest.wrapper(/app/node_modules/lodash/lodash.js:4968:19)
在emitOne(events.js:96:13)
在ClientRequest.emit(events.js:188:7)
在Socket.socketOnEnd(_http_client.js:345:9)
在emitNone(events.js:91:20)
在Socket.emit(events.js:185:7)
在endReadableNT(_stream_readable.js:974:12)
at _combinedTickCallback(内部/流程/下一步_tick.js:74:11)
在进程中。_tickDomainCallback(internal/process/next_tick.js:122:9)
/app/src/models/ProjectModel.js:56
如果(错误)抛出错误;
^

BTW elasticsearch已经启动并运行,我可以卷曲它……我甚至可以做
curl-XPOST'http://localhost:9200/projects/project/58d3ed8059ff2d001e5ae4a2'-d“{\“field\”:\“value\”}”
并返回success