无法连接到mongodb容器

时间:2018-12-12 18:25:20

标签: node.js mongodb docker docker-compose

嗨,我正在尝试开发简单的api,但无法在api和mongodb之间建立连接。当我向数据库发送查询时,它挂起并且无法得到响应。我正在尝试使用以下代码连接到mongo容器:

mongoose.connect("mongodb://mongo/micro-linkedin_api_1");

这是我的docker-compose文件:

version: "3"

services:
  api:
    restart: always
    build: ./api
    ports:
      - "3000:3000"
    links:
      - mongodb
    env_file:
      - ./api/.env
    volumes:
      - ./api:/usr/xd/job-bot/api
  mongodb:
    image: mongo
    ports:
      - "27017:27017"
  scraper:
    build: ./scraper

我的文件夹结构是这样的:

Folder Structure

1 个答案:

答案 0 :(得分:1)

正如我在docker-compose中看到的那样,您定义了2个服务:

apimongodb

在猫鼬文档中,这是您的连接方式:

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');

您做到了:

mongoose.connect("mongodb://mongo/micro-linkedin_api_1");

因此host不正确,您使用了mongo而不是docker-compose服务中定义的mongodb