visual-studio - Docker Compose 构建失败 - 文件共享已被取消 - eShopOnContainers
问题描述
我在运行由 Microsoft ( eShopOnContainers ) 提供的模板提供的示例 ASP.NET MVC Core 应用程序时遇到问题。
当我尝试使用 Visual Studio 2019 运行项目时,弹出以下错误。
严重性代码描述项目文件行抑制状态错误 DT1001 错误:对于支付 API 无法为服务支付 API 创建容器:状态代码不是 OK,而是 500:{“消息”:“未处理的异常:文件共享已被取消”,“StackTrace” :" 在 C:\workspaces\stable-2.3.x\src\github.com\docker\pinata\win\src\Docker.ApiServices\Mounting\FileSharing 中的 Docker.ApiServices.Mounting.FileSharing.d__6.MoveNext()。 cs:line 0\r\n--- 从先前引发异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 C:\workspaces\stable-2.3.x\src\github.com\ 中的 Docker.ApiServices.Mounting.FileSharing.d__4.MoveNext() docker\pinata\win\src\Docker.ApiServices\Mounting\FileSharing.cs:line 47\r\n--- 在 System.Runtime 处从先前引发异常的位置结束堆栈跟踪---\r\n。 ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 C:\workspaces\stable-2.3.x\src\github.com\ 中的 Docker.HttpApi.Controllers.FilesharingController.d__2.MoveNext() docker\pinata\win\src\Docker.HttpApi\Controllers\FilesharingController.cs:line 21\r\n--- 在 System.Runtime 处从先前引发异常的位置结束堆栈跟踪 ---\r\n。 ExceptionServices.ExceptionDispatchInfo.Throw()\r\n
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 System.Threading.Tasks.TaskHelpersExtensions.d__1`1.MoveNext()\r\n- -- 从先前引发异常的位置结束堆栈跟踪 ---\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--- 堆栈跟踪从上一个异常位置结束被抛出 ---\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--- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 处从先前引发异常的位置结束堆栈跟踪 ---\r\n\r\n
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at 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
这是我的设置,
- Microsoft Visual Studio Enterprise 2019 版本 16.6.1
- docker 桌面版 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
解决方案
您似乎尚未共享项目所在的驱动器(C:\workspaces?)
您需要在 Docker 中更新文件共享配置。在新版本中,2.2.0.0 中有一个新的安全强化,它具有激进的默认值。添加您需要的所有文件夹,然后重新启动 Docker for Windows。
[更新]
如果您使用的是 WSL,那么根据文档
文件共享:
文件共享选项卡仅在 Hyper-V 模式下可用,因为在 WSL 2 模式和 Windows 容器模式下,所有文件都由 Windows 自动共享。
https://docs.docker.com/docker-for-windows/#file-sharing
感谢@robby
推荐阅读
- regex - 使用 REGEX 查找包含特定字符串的所有 XML 文件
- javascript - 为什么我总是得到 6 而不是 21?
- c++ - 如何从指向变量的指针中永久赋值
- android - 搜索时如何隐藏 SeekBar 的刻度线?
- python - 在没有 Internet 访问权限的情况下安装 Python 模块
- python - OperationalError,没有这样的列:hospi_treatmentgiven.patient_id
- python - 这些行在计算 Mandelbrot 集时做了什么?
- python - 如何实现最大体积的分水岭分割
- jquery - rGraph y标签在数据为1时生成错误
- php - 更新功能以识别链接