gpt4 book ai didi

mongodb - 无法使用 mongoose 连接到 mongo docker 镜像

转载 作者:行者123 更新时间:2023-12-04 21:57:48 28 4
gpt4 key购买 nike

我正在尝试使用 node 和 mongo 运行一个简单的 docker 设置:

Dockerfile:

 FROM node:8.9.4-alpine
RUN mkdir /app
WORKDIR /app
COPY package.json /app/
COPY package-lock.json /app/
RUN npm install
ADD . /app/

docker-compose.yml:
version: '3'

services:
db:
image: 'mongo'
ports:
- "27017:27017"
api:
build: .
restart: always
command: sh -c "npm install && npm run start"
volumes:
- .:/app
ports:
- "3000:3000"
environment:
PORT: 3000
depends_on:
- db

现在在我的 app.js 我像这样连接到mongo:
mongoose.connect('mongodb://localhost:27017')
.catch(err => {
console.log(err)
})

但是我收到了 failed to connect to server [localhost:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
mongo 容器似乎启动并运行良好给我 waiting for connections on port 27017 .

我的设置有什么问题?我也试过换掉 localhostmongo连接时,但它也没有任何影响。

最佳答案

我没有意识到我将我的数据库容器命名为 db 而不是 mongo,所以我所要做的就是在我的 app.js 中切换该名称:

mongoose.connect('mongodb://db:27017')
.catch(err => {
console.log(err)
})

关于mongodb - 无法使用 mongoose 连接到 mongo docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49095032/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com