【问题标题】:Cannot connect to mongodb container无法连接到 mongodb 容器
【发布时间】:2018-12-13 02:33:34
【问题描述】:

您好,我正在尝试开发简单的 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

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

【问题讨论】:

    标签: node.js mongodb docker docker-compose


    【解决方案1】:

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

    apimongodb

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

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

    你做到了:

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

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

    【讨论】:

      猜你喜欢
      • 2017-09-13
      • 2016-03-02
      • 2019-10-17
      • 2022-01-11
      • 1970-01-01
      • 2021-11-26
      • 2016-01-29
      • 1970-01-01
      相关资源
      最近更新 更多