Node.js Docker 图片环境变量
Node.js Docker image environment variables
我有一个 Node.js 应用程序,它内置于 docker 图像中。在这个应用程序中,我有一个配置文件,其中包含一些 API url(例如 API 键),这些 url 可能会不时更改。是否可以使用一些附加参数启动 docker 图像,然后从 node.js 代码访问此参数(我假设这可以通过使用环境变量来完成),以免每次都重建图像这个参数的值应该改变。这是我认为可以使用的伪代码:
docker run -p 8080:8080 paramApiKey="12345" mydockerimage
然后我想从 node.js 应用访问它:
var apiKey = process.env.paramApiKey
这能以某种方式实现吗?
当然,试试看:
docker run -p 8080:8080 -e "paramApiKey=12345" mydockerimage
为了在使用 run
命令时用 docker 定义 environment variables,您必须使用 -e
标志,格式应该是"name=value"
,这意味着您的 ENV 变量应该是 "paramApiKey=12345"
,这样您就可以通过在应用程序中执行 process.env.paramApiKey
来访问它。
也就是说,您的命令看起来像:
docker run -p 8080:8080 -e "paramApiKey=12345" mydockerimage
我有一个 Node.js 应用程序,它内置于 docker 图像中。在这个应用程序中,我有一个配置文件,其中包含一些 API url(例如 API 键),这些 url 可能会不时更改。是否可以使用一些附加参数启动 docker 图像,然后从 node.js 代码访问此参数(我假设这可以通过使用环境变量来完成),以免每次都重建图像这个参数的值应该改变。这是我认为可以使用的伪代码:
docker run -p 8080:8080 paramApiKey="12345" mydockerimage
然后我想从 node.js 应用访问它:
var apiKey = process.env.paramApiKey
这能以某种方式实现吗?
当然,试试看:
docker run -p 8080:8080 -e "paramApiKey=12345" mydockerimage
为了在使用 run
命令时用 docker 定义 environment variables,您必须使用 -e
标志,格式应该是"name=value"
,这意味着您的 ENV 变量应该是 "paramApiKey=12345"
,这样您就可以通过在应用程序中执行 process.env.paramApiKey
来访问它。
也就是说,您的命令看起来像:
docker run -p 8080:8080 -e "paramApiKey=12345" mydockerimage