Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux中的.NET内核不读取环境变量_Linux_Docker_Asp.net Web Api_.net Core_Environment Variables - Fatal编程技术网

Linux中的.NET内核不读取环境变量

Linux中的.NET内核不读取环境变量,linux,docker,asp.net-web-api,.net-core,environment-variables,Linux,Docker,Asp.net Web Api,.net Core,Environment Variables,我试图从Linux中的环境变量获取connectionString,但问题是它返回null 当我在Termal中键入printenv connectionString时,它返回变量,但在我编写System.Environment.GetEnvironmentVariable(“connectionString”)的应用程序中,它返回null 有人知道为什么会这样吗 p、 我正在Docker中运行应用程序。问题是主机的环境变量在Docker容器中不可用。要将环境变量传递给容器,需要在run命令中使

我试图从Linux中的环境变量获取connectionString,但问题是它返回null

当我在Termal中键入
printenv connectionString
时,它返回变量,但在我编写
System.Environment.GetEnvironmentVariable(“connectionString”)的应用程序中,它返回null

有人知道为什么会这样吗


p、 我正在Docker中运行应用程序。

问题是主机的环境变量在Docker容器中不可用。要将环境变量传递给容器,需要在run命令中使用以下参数

docker run -e NAME=VALUE ...
您还可以使用一个文件在容器内设置多个环境变量(在bash历史记录中不需要敏感数据时也很有用)


看看

问题在于,docker容器中没有来自主机的环境变量。要将环境变量传递给容器,需要在run命令中使用以下参数

docker run -e NAME=VALUE ...
您还可以使用一个文件在容器内设置多个环境变量(在bash历史记录中不需要敏感数据时也很有用)


看看

您是否在容器内执行“printenv connectionString”?@mjcs否,我如何在容器内执行该命令,因为我只是在terminaldocker exec-it“container id”/bin中执行它/bash@mjcs是的,它返回空值,因此,我使用
export connectionString=…
添加了它,但当我运行该映像时,它仍为null。您是否在容器内执行“printenv connectionString”?@mjcs否,我如何在容器内执行它,因为我只是在terminaldocker exec-it“container id”/bin中执行它/bash@mjcs是的,它返回空值,因此,我使用
export connectionString=…
添加了它,但当我运行它作为null的映像时,我仍然试图运行
docker run-e connectionString connectionString值containerName
它告诉我
docker:invalid reference format:存储库名称必须是小写的。
。而当我运行
docker run containerName-e connectionString connectionString值时
其抛出
未处理的异常:System.FormatException:短开关'-e'未在开关映射中定义。
是的,现在它正在工作,但是有没有其他方法可以从环境变量中获取它,这样我就不需要写太多的
-e NAME=VALUE
,因为在我的应用程序中有10个或更多,我只需要从环境中获取它们在我的回答中,我描述了使用文件的选项,此文件可以包含多个环境变量。我正在尝试运行
docker run-e connectionString connectionString值containerName
它告诉我
docker:invalid reference format:存储库名称必须是小写。
。而当我运行
docker run containerName-e connectionString connectionString值时
其抛出
未处理的异常:System.FormatException:短开关'-e'未在开关映射中定义。
是的,现在它正在工作,但是,有没有其他方法可以从环境变量中获取它,所以我不需要编写大量的
-e NAME=VALUE
,因为在我的应用程序中,大约有10个或更多,我只需要从环境中获取它们。在我的回答中,我描述了使用一个文件的选项,这个文件可以包含多个环境变量。