我正在尝试使用节点和mongodb映像构建Docker映像,但我无法设置Dockerfile或Dockerfile中的环境变量。
Dockerfile:
从节点 运行mkdir /app WORKDIR /app复制package.json /app 运行npm安装副本。/app ENV MONGODB_URI 192.168.99.100/myapp 曝光3030 CMD "npm“、”开始“
docker-compose.yml:
版本:"2“ 服务: 网站: 建造:.卷:-/:/app端口:- "3030:3030“环境:- MONGODB_URI="192.168.99.100/myapp”链接:- "mongo“ 蒙戈: 图片:"mongo“端口:- "27017:27017”volumes_from:- mongodata 蒙古数据: 图片: tianon/true卷:- /data/db
我正在尝试从一个配置对象中获取MONGODB_URI。console.log返回预期的结果,但我仍然得到一个错误。
类Config { 构造函数(){ this.port = process.env.PORT连体3030;console.log( process.env.MONGODB_URI );this.databaseUrl =process.env.MONGODB_URI欧元/myapp;}
我得到的错误是:
错误:在(/app/node_modules/mongodb/lib/url_parser.js:24:11) web_1连接字符串中没有提供主机名或主机名
如果我尝试直接使用URL,而不依赖于环境变量,它可以正常工作,并得到一个连接。
发布于 2016-11-29 21:28:19
很显然我刚得到了我的橡胶鸭子风格的答案。
这个问题与'- MONGODB_URI=‘192.168.99.100/myapp有关。该值不应用引号包装。
我将其设置为"MONGODB_URI=192.168.99.100/myapp“,它运行良好。
https://stackoverflow.com/questions/40875964
复制相似问题