当它们在容器级别可用时,应用程序无法访问环境变量

时间:2018-07-27 03:57:20

标签: node.js docker docker-compose environment-variables

使用docker-compose构建和部署的

node.js应用程序看不到任何自定义设置变量。 console.log(process.env.VAR)记录 undefined 来为其中任何一个控制台。

使用yaml文件中的 env_file 属性设置变量。仅使用 env_file 属性。 Dockerfile中设置了一个 ENV 值,应用程序可以访问它。

docker exec -it <container-id> env会返回所有自定义值。 docker exec -it <container-id> sh仅返回在基本映像中设置的那些- node-alpine (由 exec 清除?)。

设置有什么问题?

1 个答案:

答案 0 :(得分:1)

我发现问题不是不是,原因是撰写文件或错误使用了 env_file 字段。
问题出在env文件本身。设置值时使用空格。像这样:VAR = VAL而不是VAR=VAL
尽管 dotenv npm软件包允许这样做(我使用了一个项目随附的示例作为部署的基础),但docker和environment却没有。