首页 > 解决方案 > 执行 docker run 命令时如何将 env 变量传递给 json 文件

问题描述

我在 docker run 命令下执行以运行基于 nodejs 的 docker 容器

docker run -p 8080:7000 --env db_url=10.155.30.13 automation:v1.0.3

我正在尝试通过使用我的容器中的单独配置文件来访问这个环境变量。配置文件为 json 格式,如下所示。

{
"db_host": "${process.env.db_url}",
}

在我的 nodejs 代码中,我正在访问这个 db_host 值以将主机 IP 添加到侦听器。但是当上面的代码执行时,docker容器一启动就被关闭。但是,如果我如下替换 json 文件值,它工作正常并且我的容器正在监听如下。有人可以帮我传递值并在我的 json 文件中访问它吗?

{
"db_host": "10.155.30.13",
}

标签: node.jsjsondockervariablesdockerfile

解决方案


您可以在应用程序中获得价值

const db_host = process.env.db_url || "10.155.30.13"

而不是从 json 文件中读取它。


推荐阅读