File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -65,4 +65,36 @@ public static bool IsEnvironment(string environmentName)
6565
6666 return string . Equals ( env , environmentName , StringComparison . OrdinalIgnoreCase ) ;
6767 }
68+
69+ /// <summary>
70+ /// 判断当前应用是否运行在Docker容器中
71+ /// 通过检查环境变量 DOTNET_RUNNING_IN_CONTAINER 是否存在来判断
72+ /// </summary>
73+ /// <returns>如果在Docker容器中运行返回true,否则返回false</returns>
74+ public static bool IsDocker ( )
75+ {
76+ return ! string . IsNullOrEmpty ( Environment . GetEnvironmentVariable ( "DOTNET_RUNNING_IN_CONTAINER" ) ) ;
77+ }
78+
79+ /// <summary>
80+ /// 判断当前应用是否运行在Kubernetes集群中
81+ /// 通过检查环境变量 KUBERNETES_SERVICE_HOST 是否存在来判断
82+ /// </summary>
83+ /// <returns>如果在Kubernetes集群中运行返回true,否则返回false</returns>
84+ public static bool IsKubernetes ( )
85+ {
86+ return ! string . IsNullOrEmpty ( Environment . GetEnvironmentVariable ( "KUBERNETES_SERVICE_HOST" ) ) ;
87+ }
88+
89+ /// <summary>
90+ /// 获取当前运行环境名称
91+ /// 优先获取 ASPNETCORE_ENVIRONMENT 环境变量,如果不存在则获取 DOTNET_ENVIRONMENT 环境变量
92+ /// </summary>
93+ /// <returns>返回当前环境名称,如果未设置环境变量则返回null</returns>
94+ public static string GetEnvironmentName ( )
95+ {
96+ var env = Environment . GetEnvironmentVariable ( "ASPNETCORE_ENVIRONMENT" )
97+ ?? Environment . GetEnvironmentVariable ( "DOTNET_ENVIRONMENT" ) ;
98+ return env ;
99+ }
68100}
You can’t perform that action at this time.
0 commit comments