docker - 在Windows 7中的Docker上运行ASP.NET Core WebApp时出错(调试)

标签 docker asp.net-core asp.net-core-mvc docker-toolbox

我试图在Windows 7中的Docker上运行asp.net核心应用程序。我安装了Visual Studio 2015 Enterprise(更新3)和Visual Studio Tools for Docker。另外,我能够在Release配置中运行该应用程序。

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

当我使用Debug配置运行应用程序时,出现以下错误,并且它没有运行任何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  

任何帮助或潜在客户解决此问题都将有所帮助。

最佳答案

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

上一个文件(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

修改后:
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

希望这对面临此问题的人有所帮助。

关于docker - 在Windows 7中的Docker上运行ASP.NET Core WebApp时出错(调试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40845658/

相关文章:

重启后 Docker 服务无法启动 - 无法启动 containerd

c# - 使用内置的 ASP.NET Core Web 服务器构建 .NET Core 控制台应用程序?

json - 在 ASP.NET Core 中使用 JsonPatch 将项目添加到字典中

javascript - Ag-Grid 当 onColumnResized 触发时它会触发 onDragStopped

c# - .Net Core 2 JWT,Angular 2 通过角色授权不起作用

asp.net-core-mvc - ASP.Net Core MVC 日期时间参数

java - jhipster 应用程序中 application-prod.yml 和 application-dev.yml 之间的区别

python - 如何从浏览器访问在 Google Compute Engine 虚拟机上运行的 Django?

docker - Kubernetes 和 flannel 网络设置

asp.net-core - 如何从 ASP.Net Core 5 (Razor) 中的中间件获取页面模型的类型?