2016-03-30 5 views
0

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. enter image description here

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.

+0

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

Antwort

0

Ich konnte das Problem auf meiner Linux-VM beheben. Das Problem lag an der falschen Laufzeit in Dockerfile. Die automatisch generierte Dockerdatei von Visual Studio Tooling hatte eine falsche Laufzeit, die das Problem verursachte. Die dockerfile hatte Laufzeit FROM microsoft/aspnet:1.0.0-rc1-update1 Änderung es zu microsoft/aspnet:1.0.0-rc1-update1-coreclr das Problem behoben. Ich habe den Tipp von einer Antwort auf ähnliche Frage von mir here erhalten.

Verwandte Themen