繁体   English   中英

在node中使用系统环境变量/与docker反应

[英]Using System environment variables in node / react with docker

我有一个React App(CRA),它将在docker容器中运行,我将为其设置环境变量“ API_KEY” =“ some_value”。 对于Windows的示例,这是系统属性->环境变量->系统变量->变量=“ API_KEY”和Value =“ some_value”。

我想在运行时访问此变量进入应用程序。 这是用于Azure App Insights的API_KEY。

https://docs.microsoft.com/en-us/azure/application-insights/app-insights-javascript#add-the-sdk-script-to-your-app-or-web-pages

上面的链接显示<your instrumentation key> 我将同一应用程序部署到多个环境。 该应用程序的每个实例将需要使用其特定的App Insights。 因此,这里的目标是在环境变量中指定API_KEY,这对于每个Docker容器而言都是不同的。

请注意,我知道nodeJs和process.env.API_KEY,但是这不会从系统环境变量中读取。 有没有办法让系统变量链接到节点实例的process.env?

-PS该请求是针对需要立即启动的API服务的。 因此,提出API请求来解决这个问题是不可能的。 它将在向每个客户端记录JavaScript事件时向最终客户端公开。

答案是不。 您无法读取系统环境变量。 但是,您可以在* .env文件中设置过程环境变量。 就我而言,我将通过将由Dockerfile触发的shell脚本生成此env文件。 然后,将针对以“ REACT_APP_#”开头的环境变量删除该过程。

希望这对其他人有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM