Docker 工具箱 Visual studio - 卷共享未启用

Docker toolbox with Visual studio - Volume sharing is not enabled

我正尝试在 Visual studio 2017 中获得 运行ning docker 对 .net core 2.0 网络应用程序的支持 运行ning linux 容器。我在使用 win 7 OS 的机器上工作,所以我必须使用带有虚拟框的 Docker 工具箱。我已经检查过这个问题:How to get docker toolbox to work with .net core 2.0 project,但在尝试使用 VS 运行 时,我遇到了以下问题:

Volume sharing is not enabled. Enable volume sharing in the docker ce for windows settings

到目前为止,我知道在 C:\Users 下安装了一个默认卷,因此我的项目文件应该复制到此文件夹下的某个位置,以防我不想安装任何其他卷。所以我把它们复制到那里。

当我检查我的 Virtual box 的设置时,文件夹似乎是共享的:

我什至可以用命令行进入这个文件夹,但仍然无法解决这个问题。对此有什么想法吗?

我终于明白了 运行。来自 VS 的错误消息非常具有误导性,与卷共享无关。最终我意识到问题出在 运行 调试器中,因为当我 运行 使用 Ctrl + F5 解决方案时,一切都是好的,容器正确启动。仅当 运行 F5 并尝试附加调试器时才会出现问题。

然后我在控制台输出中发现了一些线索。 VS 尝试使用名为 GetVsDbg.ps1 的 powershell 脚本下载一些用于调试容器的工具。当 运行 这个脚本时,我可以观察到如下错误:

Add-Type : Cannot add type. The assembly 'System.IO.Compression.FileSystem' could not be found.

最后,我通过更新 powershell 版本解决了这个问题,该版本与我安装在我机器上的 .net 框架有某种冲突。

以下设置帮助我摆脱了这个错误。检查您要共享的驱动器并单击应用。这可能会询问您的网络凭据,只需输入以防弹出。

Docker settings

谢谢, 拉凯什

我的情况是 更改了我的 windows 密码 而 docker 无法访问。 所以它只是

  1. 取消选中共享驱动器
  2. 应用
  3. 再次检查。输入密码
  4. 重启docker

我通过 运行 在 Powershell 中按照以下命令修复了它:

docker network create nat

我在尝试将 Azure Function App 发布到 Container Registry 时遇到了同样的问题。 Docker Desktop for Windows 2.3 的较新版本具有新界面。我必须进入资源|文件共享并添加一个新文件夹。这解决了那个问题...