Docker Meteor开发设置仍然连接到本地数据库

时间:2018-06-10 13:37:49

标签: mongodb meteor docker-compose

我正在尝试为我的meteor应用程序设置docker-compose设置。 docker-compose就是这个

version: '2'
services:
  web:
    build: docker/web
    ports:
      - "3000:3000"
    volumes:
      - .:/home/meteor/app
    container_name: newkeyz-web
    links:
      - mongo
    environment:
      - MONGO_URL=mongodb://mongo:27017/meteor
    command: ["meteor","npm","start"]
  mongo:
    image: mongo
    volumes:
      - ./data:/data/db
    ports:
      - "27017:27017"

当容器启动时,它会以正确的命令开始 -

newkeyz-web | > newkeyz@1.9.5 start /home/meteor/app
newkeyz-web | > MONGO_URL=mongodb://mongo:27017/meteor meteor --settings settings.json

但是流星应用程序仍尝试连接到本地mongodb实例

MongoError: failed to connect to server [127.0.0.1:3001]

我已经尝试了在命令

中指定mongo_url的所有不同方法
export MONGO_URL=mongodb://mongo:27017/meteor && meteor --settings settings.json

MONGO_URL=mongodb://mongo:27017/meteor meteor --settings settings.json

meteor --settings settings.json

我甚至在Dockerfile中有一个ENV但没有运气

ENV MONGO_URL mongodb://mongo:27017/meteor

我做错了什么?任何指针都会非常感激。

1 个答案:

答案 0 :(得分:0)

我发现了问题。议程npm init代码试图基于不同的环境变量连接到本地数据库。

export const agenda = new Agenda({
  maxConcurrency: 1,
  db: {
    address: process.env.MONGODB_URI,
  },
});

将其更改为正确的变量后,它就可以了。