使用docker-compose将我的netcore应用连接到mongodb吗?

时间:2018-11-19 15:16:38

标签: mongodb docker docker-compose

我似乎无法将我的应用容器连接到mongodb容器

这是我的应用程序中的mongo类

public BaseDao(string dbName)
        {
            m_mongoClient = new MongoClient("mongodb://localhost:27017");
            m_mongoDb = m_mongoClient.GetDatabase(dbName);
        }

这是我的docker-compose

version: '3.4'

services:
  app:
    image: vinnie_app:latest
    depends_on:
      - 'mongodb'
  mongodb:
    image: mongo:latest
    container_name: "mongodb"
    ports:
      - 27017:27017

和我的docker-compose.override

version: '3.4'

services:
  app:
    build: ./app
    environment:
      - ASPNETCORE_ENVIRONMENT=Staging
      - NODE_ENV=staging
      - ASPNETCORE_URLS=http://*:50000
      - MONGODB_URI='mongodb://mongo:27017/'
    ports:
      - 50000:50000

当我尝试从应用程序容器中从数据库中获取内容时,出现500错误。什么是错误,如何将我的应用程序容器连接到mongodb?我在http://192.168.99.100:50000/

运行容器化的应用

1 个答案:

答案 0 :(得分:1)

m_mongoClient = new MongoClient("mongodb://localhost:27017"); 该行应改为从MONGODB_URI环境变量读取URI。

m_mongoClient = new MongoClient(System.getenv("MONGODB_URI"));