Docker 无法从一个容器连接到另一个容器
我有3个docker集装箱。应用程序、mongodb和elasticsearch 当我从应用程序连接到mongodb时,它看起来如下所示: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:
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