gpt4 book ai didi

docker-compose - 通过 docker-compose 发送参数不适用于 .NET6 中的 appsettings

转载 作者:行者123 更新时间:2023-12-05 05:47:29 28 4
gpt4 key购买 nike

我有一个带有 ConnectionString 环境变量的 docker-compose :

services:
nameservice:
...
environment:
ConnectionStrings__mysqlDatabase: "Server=db;Uid=root;Pwd=password;"

我在控制台程序的 .NET 端有一个 AppSettings 文件 (.NET6):

{
"ConnectionStrings": {
"mysqlDatabase": "Server=localhost;Uid=root;Pwd=password;"
}
}

和我的 program.cs :

IConfiguration Config = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
ConnectionStringConstant.mysqlDatabase = Config.GetConnectionString("mysqlDatabase");

我的问题是,在 docker 中创建容器后,它会将值保留在 AppSettings 中(这对生产环境不利)并且不会采用 docker-compose 文件传递​​的值。

你能帮帮我吗?

最佳答案

手动构建配置(不使用主机)时需要设置环境变量支持:

var configurationRoot = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables()
.Build();

阅读更多:

关于docker-compose - 通过 docker-compose 发送参数不适用于 .NET6 中的 appsettings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71020848/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com