So führen Sie das von VS 2017 erstellte Docker-Image aus

10

Docker noob hier ...

Wie wird das Docker-Image Ihrer Asp.Net CORE-App richtig ausgeführt, das von Visual Studio 2017 in der Befehlszeile erstellt wird?

%Vor%

scheint nicht ordnungsgemäß zu funktionieren (Bild wird ausgeführt, aber ich kann nicht zu meiner App navigieren)

Hinweis: Ich habe einfach eine ASP.Net Core Web App in Studio mit der Standardvorlage erstellt und die Docker-Unterstützung hinzugefügt (indem ich auf das Kontrollkästchen "Docker-Unterstützung hinzufügen" geklickt habe). Studio fügt eine dockerfile und einige docker-compose Dateien hinzu, wenn Sie dies tun.

Wenn Visual Studio das Bild "ausführt" (durch Drücken von F5) - kann ich erfolgreich zu meiner Anwendung navigieren (über " Ссылка " oder einen ähnlichen Host) Port. Die App im Container befindet sich auf Port 80). Aber ich kann den Befehl nicht herausfinden, um es selbst an der Befehlszeile auszuführen.

Die Standard-Docker-Datei, die Studio zu Ihrem Projekt hinzufügt, ist ...

%Vor%     
HokieMike 30.04.2017, 16:21
quelle

2 Antworten

13

Ja, das ist möglich. Erstellen Sie Ihre Lösung in der Version -Konfiguration neu und versuchen Sie, das docker-compose -Projekt mit F5 auszuführen, um sicherzustellen, dass das Bild aktualisiert wird und Ihre App ordnungsgemäß funktioniert. Führen Sie dann den Befehl docker images Konsolenbefehl aus. Sie sehen etwas wie:

%Vor%

Sie müssen nur einen neuen Container aus diesem Image ausführen und seinen exponierten Port einem localhost-Port zuordnen. Standardmäßig ist der angegebene Port 80 (siehe Dockerfile ). Zum Beispiel:

%Vor%

Dann sollte Ihre App unter http://127.0.0.1:1234/ zugänglich werden.

Erläuterung:

Wenn die Debug -Konfiguration festgelegt ist, werden leere nicht-funktionsfähige Bilder von Visual Studio erstellt. Er ordnet den leeren Container dem Dateisystem manuell zu, um Debugging, "Edit and Continue" -Merkmale usw. zu ermöglichen. Deshalb ist dev image ohne Visual Studio nutzlos. Erstellen Sie das Image in der Release -Konfiguration, um es nutzbar zu machen.

Der vollständige Veröffentlichungsprozess wird in der Dokumentation beschrieben: Visual Studio Tools für Docker

  

Veröffentlichen von Docker-Images

     

Sobald Sie den Entwicklungs- und Debug-Zyklus Ihres Programms abgeschlossen haben   Anwendung, die Visual Studio Tools für Docker hilft Ihnen beim Erstellen   das Produktionsbild Ihrer Anwendung. Ändern Sie das Debug-Dropdown zu    Geben Sie frei und erstellen Sie die Anwendung. Das Werkzeug wird das Bild erzeugen   mit dem :latest -Tag, das Sie in Ihre private Registry verschieben können oder   Docker Hub.

    
Ilya Chumakov 01.05.2017, 14:20
quelle
1

Sie verwirren hier etwas. Wenn Sie Ihr Projekt mit F5 in Visual Studio 2017 ausführen, führen Sie es mit IISExpress an einem zufällig konfigurierten Anschluss aus.

In Docker gibt es kein IISExpress, da Ihre App nur von Kestrel gehostet wird (Kestrel wird immer auch hinter IIS / IISExpress verwendet, aber sie fungieren als Reverse-Proxy).

Der Standardport für Kestrel ist 5000, Sie können ihn aber auch konfigurieren. In meinem Post hier finden Sie weitere Informationen darüber, welche Methoden Sie zum Abhören des ip / ports verwenden müssen.

    
Tseng 30.04.2017 21:50
quelle