我正在尝试为我的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
我做错了什么?任何指针都会非常感激。
答案 0 :(得分:0)
我发现了问题。议程npm init代码试图基于不同的环境变量连接到本地数据库。
export const agenda = new Agenda({
maxConcurrency: 1,
db: {
address: process.env.MONGODB_URI,
},
});
将其更改为正确的变量后,它就可以了。