通过使用Docker中设置的环境系统variables,无法从节点连接到MongoDB服务器
我正在尝试使用节点和MongoDB镜像来构buildDocker镜像,但是我无法从Dockerfile或docker-composer中设置环境variables。
Dockerfile:
FROM节点
运行mkdir / app WORKDIR / app COPY package.json / app
运行npm安装COPY。 /应用
ENV MONGODB_URI 192.168.99.100 / myapp
EXPOSE 3030
CMD [“npm”,“开始”]
泊坞窗,compose.yml:
版本:“2”
服务:
网站:
build: . volumes: - ./:/app ports: - "3030:3030" environment: - MONGODB_URI="192.168.99.100/myapp" links: - "mongo"
蒙戈:
image: "mongo" ports: - "27017:27017" volumes_from: - mongodata
mongodata:
image: tianon/true volumes: - /data/db
我想从configuration对象中获取MONGODB_URI。 console.log返回预期的结果,但仍然出现错误。
class Config {
constructor() { this.port = process.env.PORT || 3030; console.log(process.env.MONGODB_URI); this.databaseUrl = process.env.MONGODB_URI || 'localhost/myapp'; }
我得到的错误是:
错误:连接stringweb_1 |中没有提供主机名或主机名 在module.exports(/app/node_modules/mongodb/lib/url_parser.js:24:11)
如果我试图直接使用URL,而不依赖于环境variables,它工作正常,我得到一个连接。
那么,显然我刚刚得到了我的橡皮鸭风格的答案。
问题出在' – MONGODB_URI =“192.168.99.100/myapp”'。 该值不应该用引号括起来。
我把它设置为“MONGODB_URI = 192.168.99.100 / myapp”,它工作正常。
- Docker-compose:总是接收无法find指定的Dockerfile
- Gitlabpipe道阶段需要几个小时或几天来显示结果(通过,失败) – docker,节点的应用程序
- 用作卷path的docker-compose环境variables不会得到解决
- 更新Docker容器的Ruby bin文件夹的正确方法是什么?
- Docker的服务名称在PyCharm 5.1 Beta 2中撰写远程解释器
- 在Windows上更新Docker组成1.8
- Docker ENTRYPOINT在卷装载后运行
- 使用docker-compose来Docker化Rails应用程序
- 习惯性的方式pipe理Docker中的持久数据存储