【发布时间】:2020-08-27 12:53:59
【问题描述】:
我运行 2 个 docker 容器。一种是 mongodb 容器。另一个是 Node.js 应用程序容器尝试连接到该 mongodb 容器。
如果我在没有 docker 的 node.js 应用程序上通过“npm run start”运行,它运行良好。它仅使用“mongodb://localhost:27017/myproject”连接到 mongodb 容器。
但它不适用于 dockerized node.js 应用程序。 它确实通过“mongoose.connect”方法连接到 Mongo DB。
但是当我编译后在浏览器上实际连接时,它说:
(node:32) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'data' of undefined
node.js 容器连接到 mongodb 容器似乎有问题,因此无法从中获取任何内容,因此数据未定义。
我做的步骤:
通过以下命令,我首先创建了 mongodb 容器:
sudo docker container run --name mymongodb --publish 27017:27017 -d mongo
然后,在 node.js 应用程序上,我只是:
docker-compose build
docker-compose up
我的 docker-compose.yml:
version: "2"
services:
myapp:
container_name: mycontainer
restart: always
build: .
ports:
- "3001:3001"
network_mode: host
上面的错误是什么问题?
【问题讨论】:
标签: node.js mongodb docker docker-compose