Node.js Docker图像环境变量

时间:2015-11-05 17:04:07

标签: javascript node.js docker environment-variables

我有一个内置在docker镜像中的Node.js应用程序。在这个应用程序中,我有一个配置文件,其中包含一些API网址(例如,API密钥),这些网址可能会不时更改。是否可以使用一些额外的参数启动docker镜像,然后从node.js代码访问此参数(我假设这可以通过使用环境变量来完成),以便每次此参数的值都不应重建图像改变了。这是我假设可以使用的伪代码:

docker run -p 8080:8080 paramApiKey="12345" mydockerimage

然后我想从node.js应用程序访问它:

var apiKey = process.env.paramApiKey

这可以以某种方式实现吗?

2 个答案:

答案 0 :(得分:4)

为了在您使用run命令时使用docker定义environment variables,您必须使用-e标志,格式应为"name=value",这意味着您的ENV变量应为"paramApiKey=12345",以便您可以通过在应用程序中执行process.env.paramApiKey来访问它。

话虽如此,你的命令看起来像是:

docker run -p 8080:8080 -e "paramApiKey=12345" mydockerimage

答案 1 :(得分:1)

当然,试试吧:

docker run -p 8080:8080 -e "paramApiKey=12345" mydockerimage