【问题标题】:Unable to connect a dockerised keystone container with a dockerised mongo container无法将 dockerised keystone 容器与 dockerised mongo 容器连接
【发布时间】:2017-06-26 09:19:38
【问题描述】:

我正在尝试让一个 dockerised keystoneJS 与一个 dockerised mongoDB 实例对话,但我正在努力寻找将它们链接在一起的问题所在。我已经浏览了 docker docs 和类似的在线示例,它们正在尝试做我想做的事情,但我仍然无法让两者相互交谈。

主要问题是无法找到 'localhost:27017' 或 Error: Invalid mongodb uri。必须以“mongodb://”开头接收:“mongodb://mongo: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"]

docker-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

【问题讨论】:

    标签: node.js mongodb docker docker-compose keystone


    【解决方案1】:

    我花了很多时间才弄清楚。在您的docker-compose.yml 中,MONGO_URI 不应该用双引号括起来,它应该是 mongodb://mongo:27017/ 而不是 "mongodb://mongo:27017"MONGO_URI=mongodb://mongo:27017/ 而不是 MONGO_URI="mongodb://mongo:27017/"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      相关资源
      最近更新 更多