我有一个内置在docker镜像中的Node.js应用程序。在这个应用程序中,我有一个配置文件,其中包含一些API网址(例如,API密钥),这些网址可能会不时更改。是否可以使用一些额外的参数启动docker镜像,然后从node.js代码访问此参数(我假设这可以通过使用环境变量来完成),以便每次此参数的值都不应重建图像改变了。这是我假设可以使用的伪代码:
docker run -p 8080:8080 paramApiKey="12345" mydockerimage
然后我想从node.js应用程序访问它:
var apiKey = process.env.paramApiKey
这可以以某种方式实现吗?
答案 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