2016-11-28 3 views
1

Ich versuche, die asp.net Core App auf Docker in Windows 7 ausführen. Ich habe Visual Studio 2015 Enterprise (Update 3) und Visual Studio Tools für Docker installiert. Außerdem kann ich die Anwendung in der Release-Konfiguration ausführen.Fehler beim Ausführen der ASP.NET Core WebApp auf Docker in Windows 7 (Debuggen)

Ich habe keine Änderungen an der Dockerfile und komponieren Dateien, das sind Standard, die erstellt werden, wenn ich das Projekt erstellt und die Docker-Unterstützung hinzugefügt.

Wenn ich die Anwendung mit Debug-Konfiguration leite, erhalte ich die folgenden Fehler und es läuft keine Docker-Container zu laufen und Debuggen der Anwendung:

Error MSB4018 The "PrepareForLaunch" task failed unexpectedly. 
System.InvalidOperationException: Unable to validate volume mapping. For troubleshooting, follow instructions from http://aka.ms/DockerToolsTroubleshooting 
    at Microsoft.DotNet.Docker.BuildTasks.PrepareForLaunch.<ExecuteAsync>d__0.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at Microsoft.DotNet.Docker.BuildTasks.DockerBaseTask.Execute() 
    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() SampleCoreApp C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Publishing\ImportAfter\Microsoft.DotNet.Docker.targets 70 

Jede Hilfe oder führen dieses Problem zu lösen, wird sei hilfreich.

Antwort

0

Dieses Problem liegt an einem Problem mit der Laufwerkszuordnung hier. Also, ich habe eine der Laufwerkszuordnung entfernt (-.:/App) und änderte auch das Quellargument (obj/Docker/empty zu.) In der docker-compose.dev.debug.yml Datei und es funktionierte für mich.

Vorherige Datei (Docker-compose.dev.debug.yml):

version: '2' 

services: 
samplecoreapp: 
    build: 
    args: 
     source: obj/Docker/empty 
    labels: 
    - "com.microsoft.visualstudio.targetoperatingsystem=linux" 
    environment: 
    - ASPNETCORE_ENVIRONMENT=Development 
    - DOTNET_USE_POLLING_FILE_WATCHER=1 
    volumes: 
    - .:/app 
    - ~/.nuget/packages:/root/.nuget/packages:ro 
    - ~/clrdbg:/clrdbg:ro 
    entrypoint: tail -f /dev/null 

Nach Änderung:

version: '2' 

services: 
samplecoreapp: 
    build: 
    args: 
     source: . 
    labels: 
    - "com.microsoft.visualstudio.targetoperatingsystem=linux" 
    environment: 
    - ASPNETCORE_ENVIRONMENT=Development 
    - DOTNET_USE_POLLING_FILE_WATCHER=1 
    volumes: 
    - ~/.nuget/packages:/root/.nuget/packages:ro 
    - ~/clrdbg:/clrdbg:ro 
    entrypoint: tail -f /dev/null 

Hope this für diejenigen hilfreich sein, die dieses Problem konfrontiert sind.

-1

Dies ist möglicherweise auf ein Laufwerk teilen/Volumen Montage Problem in Docker, stieß ich auf dieses genaue Problem und behoben von Docker Einstellungen. Dies ist auf Rechnern der Fall, die mit einer Unternehmensdomäne verbunden sind, in der Docker standardmäßig über eingeschränkte Berechtigungen verfügt. Um dies zu umgehen, aktualisieren Sie Ihre "Shared Drives" von den Docker-Einstellungen.

Update shared drives

weitere Details finden Sie hier https://blogs.msdn.microsoft.com/stevelasker/2016/06/14/configuring-docker-for-windows-volumes/

+0

gefunden Was muss ich tun, wenn ich mit dem Windows 10 Container funktionieren wird? –

Verwandte Themen