这是我的docker-compose。yaml:
version: '3'
services:
app:
image: chaseloyd/portfolio-site:latest
ports:
- "3000:3000"
mongo2:
image: mongo
container_name: mongo2
restart: always
ports:
- "27018:27018"
game:
image: chaseloyd/multiplayer-game:latest
ports:
- "3030:3030"
links:
- "mongo2"
下面是我代码:
var mongoose = require("mongoose");
mongoose.connect("mongodb://mongo2:27018/db");
错误:
MongoError: failed to connect to server [mongo2:27018] on first connect [MongoError: connect ECONNREFUSED 172.19.0.3:27018]
我希望它能成功连接。这个容器在某个时候起了作用。我正在尝试重新创建docker-compose文件,该文件成功地将这些容器绑定在一起。谢谢你的时间。你可以很容易地试用你的机器。
1条答案
按热度按时间nhn9ugyo1#
为了让Docker容器通过名称相互通信,应该创建一个docker
network
。在这种情况下,容器app
、mongo2
以及game
(如有必要)应留在同一网络上,以便它们相互通信。你可以建立这样的网络