docker compose环境变量到IConfiguration,怎么办?
docker compose environment variable to IConfiguration, how to do?
我正在使用 docker 撰写文件来保留所有环境变量,
environment:
- Instance=https://login.microsoftonline.com/
- ClientId=xxxxxxxx
我可以在我的 asp.net 核心网络 api 应用程序 statrtup
class 中访问这些变量,如下所示,
var instance = Environment.GetEnvironmentVariable("Instance")
var clientId = Environment.GetEnvironmentVariable("ClientId")
在 statrtup
class 中,我可以将下面的整个 IConfiguration
发送到某些方法,例如
services.AddProtectedWebApi(Configuration);
它会自动读取我在 appsettings.json
的 AzureAd
部分配置的所有配置
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "xxxxxxxxxxxxxxxxxxxxxx",
"Domain": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"TenantId": "xxxxxxxxxxxxxxxxxxxxxxx"
},
现在我的问题是,我们如何读取环境变量(而不是 appsettings.json
)并使用配置部分 IConfiguration
准备 AzureAd
?
您应该使用以下带前缀的环境变量名称:
environment:
- AzureAd__Instance=https://login.microsoftonline.com/
- AzureAd__ClientId=xxxxxxxx
覆盖appsettings.json
我正在使用 docker 撰写文件来保留所有环境变量,
environment:
- Instance=https://login.microsoftonline.com/
- ClientId=xxxxxxxx
我可以在我的 asp.net 核心网络 api 应用程序 statrtup
class 中访问这些变量,如下所示,
var instance = Environment.GetEnvironmentVariable("Instance")
var clientId = Environment.GetEnvironmentVariable("ClientId")
在 statrtup
class 中,我可以将下面的整个 IConfiguration
发送到某些方法,例如
services.AddProtectedWebApi(Configuration);
它会自动读取我在 appsettings.json
AzureAd
部分配置的所有配置
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "xxxxxxxxxxxxxxxxxxxxxx",
"Domain": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"TenantId": "xxxxxxxxxxxxxxxxxxxxxxx"
},
现在我的问题是,我们如何读取环境变量(而不是 appsettings.json
)并使用配置部分 IConfiguration
准备 AzureAd
?
您应该使用以下带前缀的环境变量名称:
environment:
- AzureAd__Instance=https://login.microsoftonline.com/
- AzureAd__ClientId=xxxxxxxx
覆盖appsettings.json