【问题标题】:Unhandled promise rejection when trying to run docker for a mongoose/express/mongodb application [duplicate]尝试为 mongoose/express/mongodb 应用程序运行 docker 时未处理的承诺拒绝 [重复]
【发布时间】:2021-05-11 20:50:14
【问题描述】:

我正在使用 express、mongoose 和 mongodb 创建一个应用程序。当我运行命令 npm run start:dev 时,它工作得非常好,但是我遇到了 dockerizing 它的问题。我正在运行 docker build -t store:1.0.0 。和 docker run -p 3000:3000 store:1.0.0

应用程序开始在 docker 中运行,但是当我检查邮递员以查看我的数据库中的所有项目时,我收到此错误未处理的承诺拒绝警告。

我得到的错误是:(node:43) UnhandledPromiseRejectionWarning: MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017

DockerFile: 

FROM node:14 

WORKDIR /store

COPY .npmrc package.json .

RUN npm install

COPY . . 

CMD ["npm","run","start:dev"]

JS:

const mongoose = require('mongoose')
mongoose.connect('mongodb://localhost:27017/storedb',{
    useNewUrlParser: true, useUnifiedTopology:true, useCreateIndex:true
});

【问题讨论】:

    标签: javascript mongodb docker mongoose


    【解决方案1】:

    当您使用 localhost:27017 时,api 会在您的容器本地网络上查找,请改用您的本地 ip,192.168.x.xx:27017 您可以使用 ipconfig 命令 con windows 或 观看它>ifconfig Linux 上的命令。

    这是因为您的 mongo 服务器在您的 PC 上处于活动状态,而不是在容器网络上。

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 2018-07-20
      • 2020-04-03
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多