当前位置: 首页 > 知识库问答 >
问题:

Docker 撰写无法构建 - 文件共享已被取消 - 电子商店

陶高扬
2023-03-14

我在运行一个由微软提供的模板(eShopOnContainers)提供的示例ASP.NET MVC核心应用程序时遇到了问题。

当我尝试使用Visual Studio 2019运行项目时,弹出了以下错误。

严重性代码描述项目文件行取消状态错误DT1001错误:对于付款-api无法为服务付款创建html" target="_blank">容器-api:状态代码不正常,但为500: {"Message ":"未处理的异常:文件共享已取消"," StackTrace:" "位于Docker。API services . mounting . file sharing . d _ _ 6。C:\ work spaces \ stable-2.3 . x \ src \ github . com \ Docker \ pinata \ win \ src \ Docker中的MoveNext()。API services \ Mounting \ file sharing . cs:line 0 \ r \ n-从引发异常的上一个位置开始的堆栈跟踪的结尾- \r\n在系统中。System . runtime . exception services . exceptiondispatchinfo . throw()\ r \ n < br >。位于Docker的runtime . compiler services . taskawaiter . handlenonsuccessanddebuggernotification(Task Task)\ r \ n。API services . mounting . file sharing . d _ _ 4。C:\ work spaces \ stable-2.3 . x \ src \ github . com \ Docker \ pinata \ win \ src \ Docker中的MoveNext()。API services \ Mounting \ file sharing . cs:line 47 \ r \ n-从引发异常的上一个位置开始的堆栈跟踪的结尾- \r\n在系统中。System . runtime . exception services . exceptiondispatchinfo . throw()\ r \ n < br >。位于Docker的runtime . compiler services . taskawaiter . handlenonsuccessanddebuggernotification(Task Task)\ r \ n。http API . controllers . filesharingcontroller . d _ _ 2。C:\ work spaces \ stable-2.3 . x \ src \ github . com \ Docker \ pinata \ win \ src \ Docker中的MoveNext()。http API \ Controllers \ filesharingcontroller . cs:line 21 \ r \ n-从引发异常的上一个位置开始的堆栈跟踪的结尾- \r\n在系统中。System . runtime . exception services . exceptiondispatchinfo . throw()\ r \ n < br >。runtime . compiler services . taskawaiter . handlenonsuccessanddebuggernotification(Task Task)\ r \ n在系统上。threading . tasks . taskhelpersextensions . d _ _ 1 ` 1。MoveNext()\r\n -从引发异常的上一个位置开始的堆栈跟踪的结尾- \r\n在系统中。System . runtime . exception services . exceptiondispatchinfo . throw()\ r \ n < br >。runtime . compiler services . taskawaiter . handlenonsuccessanddebuggernotification(Task Task)\ r \ n在系统上。web . http . controllers . apicontleractioninvoker . d _ _ 1。MoveNext()\r\n -从引发异常的上一个位置开始的堆栈跟踪的结尾- \r\n在系统中。System . runtime . exception services . exceptiondispatchinfo . throw()\ r \ n < br >。runtime . compiler services . taskawaiter . handlenonsuccessanddebuggernotification(Task Task)\ r \ n在系统上。web . http . controllers . actionfilterresult . d _ _ 5。MoveNext()\r\n -从引发异常的上一个位置开始的堆栈跟踪的结尾- \r\n在系统中。System . runtime . exception services . exceptiondispatchinfo . throw()\ r \ n < br >。runtime . compiler services . taskawaiter . handlenonsuccessanddebuggernotification(Task Task)\ r \ n在系统上。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。visual studio . docker . compose . targets 384

这是我的设置,

  • 微软视觉工作室企业版 2019 版本 16.6.1
  • 泊坞窗桌面版 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个答案

师冥夜
2023-03-14

看起来您尚未共享项目所在的驱动器(C:\工作区?

您需要在 Docker 中更新文件共享配置 新版本中 2.2.0.0 中具有激进的默认值。添加所需的所有文件夹,然后重新启动适用于 Windows 的泊坞窗。

[更新]

如果您使用的是WSL,那么根据文档

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

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

感谢@robby

 类似资料:
  • 我有几个应用程序容器,我想连接到 mongodb 容器。我尝试了external_links但我无法连接到mongodb。 我得到 MongoError:第一次连接时无法连接到服务器[mongodb:27017] 我必须将容器添加到同一个网络中才能让external_links工作吗? MongoDB: 应用程序: 网络:

  • 问题内容: 当我涉及此示例撰写文件时,我正在设置一些培训材料: https://github.com/dockersamples/example-voting-app/blob/master/docker- compose.yml 而且我找不到文件的第48和49行上如何安装该卷: 有人可以向我解释主机上的该卷在哪里吗?找不到它,我不希望在容器消失后保持任何postgresql数据悬挂。网络发生了类

  • 我有以下docker撰写。yml公司 当我运行docker compose up时,它会创建指定的卷mongodb,并启动所有需要的容器。但让我困惑的是,卷文件夹有两个空文件夹:

  • 15.3.5.构建共享库 假定你已经安装好了NDK,解下来就可以构建共享库了:切换到项目目录,执行ndk/ndk-build即可。其中ndk表示你的NDK安装目录。 构建完成之后,你可以见到一个新的子目录lib,里面放有刚刚生成的共享库文件。 Note: 共享库默认是面向ARM平台构建,这样可以方便在仿真器上运行。 在下一节,我们将共享库打包进APK文件,供应用程序调用。

  • 问题内容: 使用以下文件: 上面文件中的服务启动了卷容器,该卷容器在Docker主机的文件夹中创建了匿名卷,并在卷容器()中创建了挂载点。 服务中的指令是否在容器中创建安装点?这点挂载点的容器? 问题答案: 从 文档: 从另一个服务或容器挂载所有卷… 所以简短的答案 是 : 在服务内部 装入由服务定义的卷。 长答案: 要回答您的问题,让我们运行该服务: 在回答您的问题之前,让我们确保描述清楚: 上

  • 问题内容: 我试图在共享内存上发布一些随机的东西;出于某些奇怪的原因,阅读器没有选择发件人写的东西 这是发件人: 这是读者: 如果重新启动阅读器,则阅读器确实能够读取发送方已写入的最后一个值。 但是,如果我先启动阅读器,然后再启动发送器,则阅读器不会拾取发送器写入的所有值。 为了使这个更奇怪,如果我在SHM :: read()中取消对printf语句的注释,那么读者有时可以使用。 任何的想法? G