2016-11-28 36 views
1

我想在Windows 7中的Docker上运行asp.net核心应用程序。我有Visual Studio 2015 Enterprise(Update 3)和Visual Studio已安装Docker的工具。另外,我可以在Release配置中运行应用程序。在Windows 7中运行Docker上的ASP.NET Core WebApp时出错(调试)

我没有对Dockerfile和撰写文件做任何更改,这些默认是在创建项目并添加Docker支持时创建的。

当我运行与调试配置的应用程序,我得到下面的错误,它没有运行任何Docker容器运行和调试应用程序:

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 

任何帮助或导致解决这个问题将有帮助。

回答

0

此问题是由于驱动器映射的一些问题在这里。因此,我删除了docker-compose.dev.debug.yml文件中的一个驱动器映射( - 。:/ app),并更改了源参数(obj/Docker/empty),它对我很有用。

以前的文件(泊坞窗-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 

修改后:

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 

希望这将是为那些谁是面临这个问题有帮助。

-1

这可能是由于Docker中的驱动器共享/卷挂载问题,我遇到了这个确切问题,并从Docker设置中修复。这恰好出现在连接到公司域的计算机上,默认情况下,docker的权限有限。适当的解决方法是从Docker设置更新您的“共享驱动器”。

Update shared drives

进一步的细节可以在这里https://blogs.msdn.microsoft.com/stevelasker/2016/06/14/configuring-docker-for-windows-volumes/

+0

必须我做什么,当我将与Windows 10集装箱工作中发现? –

相关问题