Node.js 将NestJS应用程序与MongoDB对接”;无法在第一次连接时连接到服务器[localhost:27017];
我想对我的nestJS应用程序和MongoDB进行dockerize,但我收到以下错误:第一次连接时未能连接到服务器[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:
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,但您可以查看源代码以了解它是如何实现的: