2017-02-24 2 views
3

Ich habe die Konfiguration Staging für meine ASP.NET-Core mit Docker für Windows und VS Tools für Docker erstellt. Wenn ich die Konfiguration Staging starte, kommt die env.EnvironmentName als Production statt Staging. In der Datei docker-compose.dev.staging.yml setze ich die ASPNETCORE_ENVIRONMENT auf Staging auch. Aber das hilft auch nicht. Zugegeben, ich muss es woanders auch hinstellen, da ich bei der Veröffentlichung Staging die StagingEnvironmentName bekommen möchte.ASP.NET Core mit Tools für Docker EnvironmentName für Phase

environment: 
    - ASPNETCORE_ENVIRONMENT=Staging 

Was fehlt mir?

aktualisieren

So sieht es aus wie es ist ein Fehler in der Visual Studio Tools for Docker ist. Es respektiert nicht die Konfigurationseinstellung und greift die Datei docker-compose.dev.release.yml statt docker-compose.dev.staging.yml. Sie müssen diese tatsächliche Datei also ändern, wenn Sie die Umgebung in staging ändern möchten. Also, wenn in staging Debuggen addierten die folgenden auf Ihre release Datei:

environment: 
    - ASPNETCORE_ENVIRONMENT=Staging 

Und alles wird gut mit der Welt. Sie müssen dies auch bei der Bereitstellung in der Hauptdatei docker-compose tun. Ärgerlich, aber was willst du noch tun?

Fügen Sie außerdem die Bildnamen wie:

image: docker.appcatalyst.com:5000/symptom_checker_pam_cms:staging 

Dann werden Sie den staging Tag für die Bereitstellung auf Staging erhalten. Hoffentlich wird dieser Fehler bald behoben sein.

aktualisieren 2

Nun, das verstehe ich, wie Docker funktioniert. Grundsätzlich müssen Sie die Umgebungsvariablen in der Datei docker-compose.yml übergeben. Auf dem Server, auf dem Ihre staging-Umgebung läuft, würden Sie hinzufügen, was ich oben angegeben habe, und dann docker up mit dieser YAML-Datei. Wie auf Ihrem eigenen Rechner, wenn Sie mit Ihrer stage Einstellung arbeiten möchten, müssten Sie nur die Umgebungseinstellungen hinzufügen/entfernen (oder auskommentieren). Irgendwie ein Schmerz. Hoffentlich behebt VS Tools for Docker dieses Verhalten für Debugging-Zwecke. Es würde die Programmierung etwas einfacher machen.

Antwort

1

Wenn VS läuft Docker-komponieren Befehle, sieht es für die folgenden yaml Dateien um:

  1. Docker-compose.yml
  2. Docker-compose.override.yml
  3. Docker-compose. vs.debug.yml | docker-compose.vs.release.yml (für Debug | Veröffentlichung jeweils)

Wir unterstützen keine benutzerdefinierten yaml Dateien wie docker-compose.dev.staging.yml noch.

Die ASPNETCORE_ENVIRONMENT wurde in docker-compose.override.yml festgelegt, wo die Einstellungen für die Ausführung der App auf dem lokalen Computer festgelegt werden.

environment: 
    - ASPNETCORE_ENVIRONMENT=Development 

In dieser Datei können Sie die Entwicklung in Staging ändern.

+0

Wie fügen Sie die anderen Dateien hinzu, wenn ich 'Hinzufügen' wähle, ist die Liste leer. Es scheint verschlossen zu sein! Ich habe eine 'docker-compost.override.yml' Datei, aber ich möchte eine für' release' hinzufügen ...? – Luke

Verwandte Themen