Настройка разработки Docker Meteor все еще подключается к локальной базе данных - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь настроить 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

У меня даже есть ENV в Dockerfile, но не повезло

ENV MONGO_URL mongodb://mongo:27017/meteor

Что я делаю не так?Любые указатели будут высоко оценены.

1 Ответ

0 голосов
/ 11 июня 2018

Я нашел проблему.Программа инициализации npm пыталась подключиться к локальной базе данных на основе другой переменной среды.

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

После изменения правильной переменной все заработало.

...