首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用环境变量DOTNET_RUNNING_IN_CONTAINERS和DOTNET_RUNNING_IN_CONTAINER来确定.net应用程序在哪里运行?

如何使用环境变量DOTNET_RUNNING_IN_CONTAINERS和DOTNET_RUNNING_IN_CONTAINER来确定.net应用程序在哪里运行?
EN

Stack Overflow用户
提问于 2022-10-06 10:33:54
回答 1查看 149关注 0票数 0

官方MS页面建议存在“众所周知”的环境变量,这些变量应该由“官方.NET映像”设置。坦率地说,这似乎是正确的,但根据我的经验,即使我在容器中运行应用程序,它们也总是设置为“false”。我搜索了一些用法和这就是我发现的的例子

当我在一个普通的.net 5.0应用程序中遵循同样的规则时,我总是从下面这个程序中得到“false”:

代码语言:javascript
运行
复制
private bool InDocker { get { return Environment.GetEnvironmentVariable("DOTNET_RUNNING_IN_CONTAINER") == "true";} }

同样的结果,如果我尝试复数版本: DOTNET_RUNNING_IN_CONTAINERS,我也尝试在我的Dockerfile中手动设置变量,如下所示:

代码语言:javascript
运行
复制
ENV DOTNET_RUNNING_IN_CONTAINER = true

我做错什么了?

EN

回答 1

Stack Overflow用户

发布于 2022-10-06 13:54:26

我的问题是,我还在Dockerfile中使用相同的名称设置了自己的ENV变量,这导致了对原始变量的重写。

在下面的图中,我重新命名了自己的ENV变量,并将其设置为true,如下所示:

ENV DOTNET_RUNNING_IN_CONTAINER_PH = true

也许我应该把它设置为string:

ENV DOTNET_RUNNING_IN_CONTAINER_PH =“真”

非常感谢拉尔夫指出了非常好的暗示。如果你用这种方式来写一篇文章,我会给出答案:o)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73972395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档