Docker Compose构建失败-文件共享已取消-eShopOnContainers

14

我在运行微软提供的ASP.NET MVC Core应用程序模板(eShopOnContainers)时遇到了问题。

当我尝试使用Visual Studio 2019运行该项目时,出现以下错误:

严重性 代码 描述 项目 文件 行 抑制状态 错误 DT1001 ERROR: 对于 payment-api,无法创建容器:状态码不正确,但为500: {"Message":"未处理的异常:文件共享已取消","StackTrace":" 在 Docker.ApiServices.Mounting.FileSharing.d__6.MoveNext() 中\r\n C:\\workspaces\\stable-2.3.x\\src\\github.com\\docker\\pinata\\win\\src\\Docker.ApiServices\\Mounting\\FileSharing.cs:行0\r\n--- End of stack trace from previous location where exception was thrown ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n 在 Docker.ApiServices.Mounting.FileSharing.d__4.MoveNext() 中\r\n C:\\workspaces\\stable-2.3.x\\src\\github.com\\docker\\pinata\\win\\src\\Docker.ApiServices\\Mounting\\FileSharing.cs:行47\r\n--- End of stack trace from previous location where exception was thrown ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n 在 Docker.HttpApi.Controllers.FilesharingController.d__2.MoveNext() 中\r\n C:\\workspaces\\stable-2.3.x\\src\\github.com\\docker\\pinata\\win\\src\\Docker.HttpApi\\Controllers\\FilesharingController.cs:行21\r\n--- End of stack trace from previous location where exception was thrown ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n 在 System.Threading.Tasks.TaskHelpersExtensions.d__1`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n 在 System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n 在 System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n 在 System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()"} 如果错误仍然存在,请尝试重新启动 Docker Desktop。 docker-compose C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Sdks\Microsoft.Docker.Sdk\build\Microsoft.VisualStudio.Docker.Compose.targets 384

Erroe_log

以下是我的设置,

  • Microsoft Visual Studio Enterprise 2019 版本 16.6.1
  • Docker Desktop 版本 2.3.03

有人有什么办法可以解决这个问题吗?

[更新]

主要错误是:

Docker.ApiServices.Mounting.FileSharing.<ShareAsync>d__4.MoveNext() in
> C:\\workspaces\\stable-2.3.x\\src\\github.com\\docker\\pinata\\win\\src\\Docker.ApiServices\\Mounting\\FileSharing.cs
1个回答

38

看起来您还没有共享项目所在的驱动器(C:\workspaces?)

您需要更新Docker的文件共享配置,在新版本中有一个名为2.2.0.0的新安全强化功能,其默认值很严格。添加所有所需的文件夹,然后重新启动Windows上的Docker。

显示图片描述的文本

[更新]

如果您正在使用WSL,则根据文档:

文件共享:
文件共享选项卡仅在Hyper-V模式下可用,因为在WSL 2模式和Windows容器模式下,所有文件都会自动由Windows共享。

https://docs.docker.com/docker-for-windows/#file-sharing

感谢@robby


我想分享哪个路径?项目根文件夹? - shalitha senanayaka
是的,我添加了我正在工作的项目文件夹。 :-) - nolanjacobson
请参阅相关文档 https://docs.docker.com/docker-for-windows/#file-sharing。 - rooby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接