【发布时间】:2022-01-14 18:21:49
【问题描述】:
我将我的应用程序和 mongo db 放入一个 docker 文件中,但是当我运行 docker-compose up 时,我收到错误 ERROR [MongooseModule] Unable to connect to the database。我一直在对 yml 文件进行故障排除,但没有成功。非常感谢任何帮助。
docker-compose.yml
version: '3.6'
services:
main:
container_name: main
build:
context: .
target: development
volumes:
- .:/usr/src/app
ports:
- ${SERVER_PORT}:${SERVER_PORT}
- 9229:9229
command: npm run start:debug
env_file:
- .env
networks:
- webnet
depends_on:
- mongo_db
mongo_db:
container_name: mongo_db
hostname: '${MONGO_HOST}'
image: mongo:4.4.11-rc0-focal
networks:
- webnet
environment:
MONGO_INITDB_ROOT_USERNAME: '${MONGO_USERNAME}'
MONGO_INITDB_ROOT_PASSWORD: '${MONGO_PASSWORD}'
MONGO_INITDB_DATABASE: '${MONGO_DATABASE_NAME}'
expose:
- '27017'
networks:
webnet:
driver: bridge
和 mongo URI:MONGO_URI=mongodb://user:password@localhost:27017
【问题讨论】:
-
尝试使用
mongodb://user:password@mongo_db:27017,当您通过 docker-compose 运行服务时,您应该使用其内部网络 -
感谢@JayMcDoniel 的成功,
标签: node.js mongodb docker nestjs