Node.js 将NestJS应用程序与MongoDB对接”;无法在第一次连接时连接到服务器[localhost:27017];

Node.js 将NestJS应用程序与MongoDB对接”;无法在第一次连接时连接到服务器[localhost:27017];,node.js,docker,mongoose,docker-compose,nestjs,Node.js,Docker,Mongoose,Docker Compose,Nestjs,我想对我的nestJS应用程序和MongoDB进行dockerize,但我收到以下错误:第一次连接时未能连接到服务器[localhost:27017] 文件 FROM node:10 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["npm", "run", "start:prod"] docker-compose.yml: version: '3' services:

我想对我的nestJS应用程序和MongoDB进行dockerize,但我收到以下错误:第一次连接时未能连接到服务器[localhost:27017]

文件

FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "run", "start:prod"]

docker-compose.yml:

version: '3'
services:
  app:
    container_name: erpcore
    restart: always
    build: .
    ports:
      - '3000:3000'
    links:
      - erpdb
  erpdb:
    container_name: erpdb
    image: mongo
Databases.providers.ts

import * as mongoose from 'mongoose';

export const databaseProviders = [
    {
        provide: 'DATABASE_CONNECTION',
        useFactory: async (): Promise<typeof mongoose> =>
            await mongoose.connect('mongodb://erpdb:27017/erp'),
    },
];

import*作为“猫鼬”中的猫鼬;
导出常量数据库提供程序=[
{
提供:“数据库连接”,
useFactory:async():Promise=>
等待猫鼬。连接猫鼬mongodb://erpdb:27017/erp'),
},
];

谢谢

也许您的应用程序在MongoDB之前启动。尝试在你的应用程序服务上添加dependens\u-on:erpdb

你的docker compose只是在旋转图像。您是否已经在mongo中创建了erp数据库。通常,nestJS应用程序会创建erp数据库automaticly@SamirAFALLAH,确保您的nestJs应用程序和MongoDB都配置为在docker compose文件中位于同一网络中。添加了,但不起作用***版本:'3'服务:erpdb:container\u名称:erpdb映像:mongo应用程序:container\u名称:erpcore重新启动:始终生成:。端口:-“3000:3000”取决于:-erpdb***MongooseModule添加了一个重试选项来处理这种情况。看起来您没有使用MongooseModule,但您可以查看源代码以了解它是如何实现的: