Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
ASP.NET Core Web Api im Dockercontainer Zugriff auf Appsettings
Rioma
myCSharp.de - Member



Dabei seit:
Beiträge: 228

Themenstarter:

ASP.NET Core Web Api im Dockercontainer Zugriff auf Appsettings

beantworten | zitieren | melden

Hallo zusammen,

ich habe mich die letzten Tage mit Docker beschäftigt und hätte eine Frage zu den Appsettings.

Als Beispiel ohne Docker: Ein Pfad (zum Beispiel zu einer Datenbank) ist in den Appsettings gespeichert. Ändert sich der Pfad, ist das kein Problem. Ich ändere entsprechend den Pfad in der Datei und bin fertig.

Bei Docker habe ich jetzt x alternativen alle mit Vor und Nachteilen.

- Umgebungsvariablen nutzen
- Shared-Folder
- Jedesmal ein neues Image erstellen
- ..... vielleicht weitere.....

Wie geht ihr mit dem "Problem" um?

Danke
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16234

beantworten | zitieren | melden

Flexible Settings wie Connection Strings übergibt man dem Container beim Start als Parameter hinzu, setzt sie dann als Umgebungsvariable.
Diese nutzt man dann im Startup.

Shared Folder ist sicherlich _keine_ Alternative!
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Deaktiviertes Profil
myCSharp.de - Member



Dabei seit:
Beiträge: 996

beantworten | zitieren | melden

Und wenn man plattenplatz benötigt, dann mappt man sich ein volume in den container.

Dieses Mapping erfolgt für den Container immer an der gleichen Stelle/Pfad. Von aussen kann man aber wieder entscheiden was wirklich dorthin gemappt wird.

Die Einstellungen der Anwendung im Container bleiben also gleich. Das ist doch gerade einer der Key-Features von Docker

Docker: Manage data in containers
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Deaktiviertes Profil am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16234

beantworten | zitieren | melden

Einstellungen, wie eine Datenbankverbindung, sollten trotzdem kein Bestandteil eines Docker Images sein.
Das ist bad practise. Man kann sich das gut anschauen, wie das in Wordpress gelöst ist; hier wird der mysql Container ebenfalls von Außen via Parameter dem Wordpress Container bekannt gemacht.

Feste Volumes sind zudem nur eingeschränkt skalierbar, weshalb der aktuellste Schrei im Docker-Bereich auch Flocker ist, das sowas lösen soll.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Deaktiviertes Profil
myCSharp.de - Member



Dabei seit:
Beiträge: 996

beantworten | zitieren | melden

Die Spielarten wie man grob gesagt Speicherplatz an so einen Container klatscht sind in dem Link aufgeführt (inkl. dem letzten Schrei mit dem Flocki)
private Nachricht | Beiträge des Benutzers
Rioma
myCSharp.de - Member



Dabei seit:
Beiträge: 228

Themenstarter:

beantworten | zitieren | melden

Danke für eure Hilfe! Ich werde die Umgebungsvariablen nutzen.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16234

beantworten | zitieren | melden

Zitat von Sir Rufo
Die Spielarten wie man grob gesagt Speicherplatz an so einen Container klatscht sind in dem Link aufgeführt (inkl. dem letzten Schrei mit dem Flocki)

Ändert ja nix an der Tatsache, dass flexible Configuration Settings nicht Teil des Volumes sein sollten...
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers