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% 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:
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:
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.
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.
Tags und Links docker asp.net-core visual-studio-2017