【发布时间】: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