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.
Wie geht ihr mit dem "Problem" um?
Danke
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 - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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
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 - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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)
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 - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code