Вы можете использовать переменную конфигурации, значение которой будет переопределено переменной среды при запуске.
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables("APP_");
Configuration = builder.Build();
}
public IConfigurationRoot Configuration { get; }
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var newDB = Convert.ToBoolean(Configuration["NewDB"]));
(...)
appsettings.json:
{
"Logging": {
(..)
},
"NewDB": false
}
А при запуске прохода контейнера: docker run -e APP_NewDB='true' ...