Visual Studio运行Docker项目问题

时间:2018-05-03 08:41:25

标签: docker visual-studio-2017 docker-compose

我有一个奇怪的情况,如果我在Visual Studio 2017中运行Docker项目,我会收到错误消息:Cannot start service webapplication1: error while creating mount source path '/host_mnt/c/Users/MyUser/vsdbg/vs2017u5': mkdir /host_mnt/c/Users/MyUser/vsdbg/vs2017u5: permission denied

但是,如果我使用命令docker-compose up -d运行相同的项目,它就可以工作。 它不能仅是Visual Studio的权限问题。

3 个答案:

答案 0 :(得分:4)

我遇到了同样的问题-在https://github.com/docker/for-win/issues/897

找到了解决方案

基本上,问题在于对C:\ Users \ user \ vsdbg的访问-不要以为我为所有人和C:\ Users \ user \ .nuget提供了对所有人的R / W访问,以防万一,它就像一个魅力:)

答案 1 :(得分:1)

对我来说,绝对没有任何效果,包括仅授予vsdbg和.nuget文件夹的完全权限。

我的设置如下:

  • 我有一个名为“用户”的主帐户,目前我已使用该帐户 登录并完成我的开发工作
  • 我有一个名为“ DockerDiskSharing”的用户,具有完整的管理员权限, 我打算将其与Docker一起使用

我的诀窍是:

  1. 我打开了一个具有管理员权限的命令提示符,并通过运行将DockerDiskSharing用户添加到docker-users组中
net localgroups docker-users DockerDiskSharing /add
  1. 我转到Docker->设置->共享驱动器,单击“重置凭据”并添加了DockerDiskSharing用户的凭据。我在C驱动器(我的主分区)和D驱动器(我的项目所在的位置)上打了勾。
  2. 我打开了一个具有管理员权限的命令提示符,并通过运行以下命令授予了对整个Users / User文件夹的完全访问权限:
icacls "C:\Users\User" /q /c /t /grant docker-users:F

仍然不确定尤其是哪个文件夹需要从“用户/用户”读取/写入的权限...

答案 2 :(得分:0)

对于其他到达这里的读者,如果他们有强制设置,他们的主要Windows用户不能是本地管理员:

那行不通!

尝试了不同的解决方法后,我放弃了。请注意,我有一个本地服务帐户,即本地管理员。如果您没有该帐户,并且不是本地管理员,那么我想您就搞砸了。

所以:

  • 我重置了Docker共享驱动器,并使用我的主要Windows凭据再次安装了它
  • 我将主要用户添加到了本地管理员组中

现在它可以工作了:)