Laden...

Application Settings bei Docker-Anwendungen

Erstellt von JimStark vor 3 Jahren Letzter Beitrag vor 3 Jahren 811 Views
JimStark Themenstarter:in
309 Beiträge seit 2020
vor 3 Jahren
Application Settings bei Docker-Anwendungen

Hey,

habe nochmal eine ähnliche Frage zur der Services Thematik:

Ich wollte mit der Config.Net Library Einstellungen verwalten, die habe ich so eingebunden:


            // Add settings:
            services.AddScoped<ISettings>(_ => new ConfigurationBuilder<ISettings>()
                .UseIniFile("config.ini")
                .Build()
            );

Wenn ich den Dateiname so angebe greift es im Projektordner (nicht bin/Debug) auf die Datei zu (mit IIS Express). Wie gibt man solche Dateinamen am besten an? Hintergrund ist, ich möchte diese INI Datei dann im Docker Container mounten, dass es jeder unkompliziert konfigurieren kann, ohne app.config, etc.

16.807 Beiträge seit 2008
vor 3 Jahren

Ini Dateien sind keine Konfigurationsdateien. Warum Ini und nicht wie seit ca. 30 Jahren empfohlen und vom Framework auch unterstützt einfach XML?

Konfigrationen von Anwendungen in Docker erfolgt über die Environment Settings.
ASP.NET Core and Docker Environment Variables

Settings über ein Shared File in Docker ist alles andere als ein guter Weg:

  • Environment Settings können zentral verwaltet werden
  • Environment Settings skalieren
  • Environment Settings unterstützen prinzipiell Hot Reload
  • Environment Settings können über Compliance Tools verwaltet werden
  • Environment Settings sind verschlüsselt
  • ..

Settings gehören in Docker niemals auf Volumes.

JimStark Themenstarter:in
309 Beiträge seit 2020
vor 3 Jahren

Perfekt vielen Dank! An Umgebungsvariablen habe ich gar nicht gedacht.
Habe es jetzt auch so gemacht:


            services.AddScoped<ISettings>(_ => new ConfigurationBuilder<ISettings>()
                .UseAppConfig()
                .UseEnvironmentVariables()
                .Build()
            ) ;