Docker的Visual Studio工具 - PrepareForCompile任务意外失败

时间:2016-09-20 21:13:11

标签: docker asp.net-core visual-studio-2015 docker-for-windows docker-desktop

我拿了一台干净的机器(没有周年纪念更新的Windows 10企业版)并安装(按此顺序)完整的IIS,Hyper-V,VS2015企业版,.NET Core 1.0.1工具预览2,适用于Windows的Docker, Visual Studio Docker Tools和其他一些随机程序。

然后我打开VS2015并创建了一个默认的.NET核心网站。当我跑(F5)时,所有工作都按预期进行。然后我右键单击该项目并转到Add->Docker Support。现在,当尝试使用Docker运行(F5)时,我看到以下错误消息:

  

MSB4018“PrepareForCompile”任务意外失败。   Microsoft.DotNet.Docker.CommandlineClientException:错误响应   来自守护进程:Container ......没有在...运行

我在网上搜索过,我能找到的唯一可以解释的是我不认为共享硬盘正在运行。我确实在Docker->共享驱动器中设置了它,但是当我运行时: docker run --rm -v c:/Users:/data alpine ls /data 回复是空的。

同样,当我尝试使用busy box时,目录为空。

docker run -it -v /C/Users:/wormhole busybox cd wormhole ls

我尝试使用适用于Docker的Windows桌面 1.12.1-stable和beta 26.两者都有相同的问题。

有些人表示防病毒可能会导致问题。我安装了Mcafee,但无法卸载或禁用防病毒软件。

有些人认为具有异常字符的密码可能会导致此问题,但这不适用于此。

我不知道共享驱动器是否会导致VS2015错误,但由于共享驱动器坏了,它似乎是一个很好的起点。

我已多次重启bot hdock和计算机,但无济于事。

任何想法?

2 个答案:

答案 0 :(得分:9)

我有同样的问题。

为了解决这个问题,我找到了堆栈跟踪中id引用的容器。然后我删除了它:

docker rm <containerid>

当我尝试从VS 2015再次运行时它起作用了。我不知道最初导致这个问题的原因。

答案 1 :(得分:6)

我只想添加,因为我也偶然发现了这个问题。我有一台干净的Win 10机器,我只需在docker中启用“共享驱动器”设置:

这可能不是你面临的实际问题(谢天谢地你修好了!);这只适用于可能没有启用此功能的人!

Step 1: Right Click on Docker Icon in taskbar

Step 2: Click Settings

Step 3: Click Shared Drives. Select the Checkbox for your hard drive, and click "Apply"