【发布时间】:2021-06-19 11:50:33
【问题描述】:
我在 Docker 容器中运行我的开发环境。由于我已经完成了一些更新,因此在尝试重建在 Docker 容器中运行的项目时遇到了一些困难。
我的项目在运行 IIS 的 Windows Server Core Docker 容器中运行,并且我从主机上的共享卷运行该项目。我可以在启动 docker 容器之前构建项目,但是在启动 docker 容器后构建失败并出现以下错误:
Could not copy "C:\path\to\dll\name.dll" to "bin\name.dll". Exceeded retry count of 10. Failed. The file is locked by: "vmwp.exe (22604), vmmem (10488)"
Hyper-V 进程似乎正在锁定 DLL 文件。这显然不是以前的情况,这似乎与我所做的一些 Docker 或 Windows 更新有关。我该如何解决这个问题?我是否需要更改构建应用程序并在我的 Docker 容器中运行它的过程?
我已经搜索了一段时间,但我找不到太多关于这个特定问题的信息。任何帮助,将不胜感激。提前致谢!
【问题讨论】:
-
您找到解决方案了吗?我遇到了同样的问题。
-
遗憾的是,现在我只是在做 docker compose down and up 来重建项目。我已经看到一些在预构建步骤中使用“App_Offline”文件的解决方案,但我也无法让它工作。在检查 docker 容器时,我发现是容器内的 IIS 锁定了文件,但我找不到正确的解决方案。
-
Repo 使用
dotnet watch重现问题 -- github.com/nickwesselman/dotnet-docker-lock-issue -
用 docker/for-win 记录了这个...+1 会有帮助。 github.com/docker/for-win/issues/12028
-
Docker 将我重定向到 moby 项目以记录问题:github.com/moby/moby/issues/42803
标签: docker windows-10 locking hyper-v