【发布时间】:2017-07-01 14:01:21
【问题描述】:
当我在 docker-compose.yml 中使用 env_file 时,它可以正确构建,但是当我尝试使用 docker-compose 时,我的节点应用程序无法在 process.env 对象中找到 env_file 变量。
这是我的 docker-compose 文件:
node1:
container_name: node01
env_file: ./env/node1.production.env
#environment:
#- SOME_VALUE=9599
build:
context: ./node1
dockerfile: dockerfile
ports:
- "3000:3000"
networks:
- dev_net
这是我的 node1.production.env 文件:
SOME_VALUE=9599
当我改用环境时,我的节点应用程序运行良好:
DOCKER 版本: 17.03
DOCKER COMPOSE 版本: 1.14
操作系统: CentOS
【问题讨论】:
-
嗨 Mohamed,欢迎来到 SO。谢谢你的问题。请花点时间查看此页面并查看如何正确格式化(以便其他人可以更轻松地帮助您):stackoverflow.com/help/how-to-ask
-
你能概括一下这个,以便有人可以复制吗?我们没有您的代码或
Dockerfile可复制。也许您可以尝试gist.github.com/andyshinn/3034fa88e679e6357294e7a9b16b8197 作为开始,看看它是否正常工作?这是我的例子,效果很好。 -
我试图将 node1.production.env 的名称更改为 otherName.production.env 并且它有效,似乎我已经导出了具有该名称的变量,现在我正在尝试动态更改 .production将 .stage 或 .test 变成类似 node_app.stage.env 的东西...你该怎么做?
标签: node.js docker docker-compose