2017-02-08 17 views
0

Я пытаюсь получить докционированную keystoneJS, чтобы поговорить с докционированным экземпляром mongoDB, и я изо всех сил пытаюсь понять, где я ошибаюсь, с точки зрения их объединения. Я прошел через докеры и аналогичные примеры в Интернете, которые пытаются сделать то, что я пытаюсь сделать, но все же я не могу заставить их поговорить друг с другом.Невозможно подключить закрепленный трапецеидальный контейнер с докеризированным контейнером mongo.

Главные проблемы, по которым он не может найти «localhost: 27017» или Error: Invalid mongodb uri. Должно начинаться с "MongoDB: //" Received: "MongoDB: // Монго: 27017 /"

Ниже приведены соответствующие файлы:

Dockerfile for keystone 

FROM node:6.9.1 

RUN mkdir -p /docker 
WORKDIR /docker 

COPY . /docker 
RUN npm install --no-optional 

CMD ["node", "keystone.js"] 

докер-compose.yml

version: '2' 

services: 
keystone: 
image: keystone-test 
ports: 
    - "3000:3000" 
depends_on: 
    - mongo 
networks: 
    - localnetwork 
environment: 
    - MONGO_URI="mongodb://mongo:27017/" 

mongo: 
image: mongo:3 
command: mongod --smallfiles 
ports: 
    - "27017:27017" 
networks: 
    - localnetwork 

networks: 
    localnetwork: 

keystone.js

var mongoose = require('mongoose'); 

mongoose.Promise = global.Promise; 
mongoose.connect(process.env.MONGO_URI); 
..... and some usual keystone stuff 

ответ

1

Мне нужно много времени, чтобы выяснить. В вашем docker-compose.yml, то MONGO_URI не следует завернуть в двойных кавычках, это должно быть mongodb://mongo:27017/ вместо "mongodb://mongo:27017". MONGO_URI = mongodb: // mongo: 27017/ вместо MONGO_URI = "mongodb: // mongo: 27017 /"

 Смежные вопросы

  • Нет связанных вопросов^_^