Ich versuche, meine ASP.NET Core-Website auf Azure Docker durch Visual Studio 2015 mit this Visual Studio-Erweiterung zu veröffentlichen. Ich habe verschiedene Ansätze ausprobiert, aber nicht in jedem von ihnen bereitgestellt.Fehler beim Veröffentlichen von Andocker auf Azure von Visual Studio 2015
Vorgehensweise 1 Erstellt einen Windows Docker Container direkt von Visual Studio. In diesem Fall wurde die VM erfolgreich erstellt und ich konnte die Verbindung vor der Veröffentlichung erfolgreich validieren.
jedoch publish der Fehler mit Fehlern folgenden
Step 1 : FROM microsoft/aspnet:1.0.0-rc1-update1 Pulling repository
docker.io/microsoft/aspnet Error: image
microsoft/aspnet:1.0.0-rc1-update1 not found
Ansatz 2 einen Linux-Docker Container direkt aus Visual Studio erstellt. Auch hier wurde die VM erfolgreich erstellt und ich konnte die Verbindung vor der Veröffentlichung erfolgreich validieren. Auf publishing bekam ich folgende Fehlermeldung:
Executing command [docker --tlsverify -H tcp://vmname.southeastasia.cloudapp.azure.com:2376 logs cf32793c88939d664f67c651cbc75c4fb348fdd6fe85ea67322f9b5d049c0e70]
Failed to connect to http://vmname.southeastasia.cloudapp.azure.com/. If your Docker host is an Azure virtual machine, please make sure to set up the endpoint '80' using the Azure portal.
Container logs:
System.InvalidOperationException: The current runtime target framework is not compatible with 'MulitvideoMonitoring'.
Current runtime target framework: 'DNX,Version=v4.5.1 (dnx451)'
Version: 1.0.0-rc1-16231
Type: Mono
Architecture: x64
OS Name: Linux
OS Version: debian 7
Runtime Id: ubuntu.14.04-x64
Please make sure the runtime matches a framework specified in project.json
at Microsoft.Dnx.ApplicationHost.DefaultHost.GetEntryPoint (System.String applicationName) [0x00000] in <filename unknown>:0
at Microsoft.Dnx.ApplicationHost.Program.ExecuteMain (Microsoft.Dnx.ApplicationHost.DefaultHost host, System.String applicationName, System.String[] args) [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x00000] in <filename unknown>:0
at Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute (System.Reflection.Assembly assembly, System.String[] args, IServiceProvider serviceProvider) [0x00000] in <filename unknown>:0
at Microsoft.Dnx.Host.Bootstrapper.RunAsync (System.Collections.Generic.List`1 args, IRuntimeEnvironment env, System.String appBase, System.Runtime.Versioning.FrameworkName targetFramework) [0x00000] in <filename unknown>:0
Ansatz 3 ein klassisches VM von Azure-Portal mit Port Erstellt 80 geöffnet. Bei der Überprüfung der Verbindung ist ein Fehler aufgetreten. Während die Veröffentlichung nicht auf die VM und gab folgende Fehler verbinden könnte:
Executing command [docker --tlsverify -H tcp://vmname.cloudapp.net:2376 ps -a | select-string -pattern ":80->" | foreach { Write-Output $_.ToString().split()[0] }]
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.DNX.Publishing.targets(386,5):
Error : An error occurred trying to connect: Get https://vmname.cloudapp.net:2376/v1.22/containers/json?all=1: dial tcp 23.97.54.64:2376:
connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
anfordern Ihre Hilfe in den oben genannten drei Ansätze, um herauszufinden, das Problem.
Einige Fragen: Hört der Docker-Daemon auf dem TCP-Endpunkt zu? Wenn Sie ssh in den Docker-Host und führen Sie "Docker-H tcp: //vmname.soutchestasia.cloudapp.azure.com: 2376 ps" funktioniert es? Ist der tcp-Port, auf den der Docker-Daemon zugreift, von außen zugänglich? – Mani