在Docker for Windows上使用卷装载运行Docker Linux容器

在Docker for Windows上使用卷装载运行Docker Linux容器,docker,docker-compose,Docker,Docker Compose,我正在Docker for Windows环境中运行Docker Linux容器。我还使用Dockerfile为我的项目编写docker 我在正确装入卷时遇到问题。特别是在my中,我可以看到文本“\host\u mnt”被添加到我的卷路径的开头。所以我的卷路径看起来像“\host\u mntC:\Users\blah\blah\blah”。路径正确,只是在开头添加了“\host\u mnt” 我的怀疑是,我不得不在Dockerfile中错误地输入卷装载路径。我尝试过使用相对路径、绝对路径以及卷的

我正在Docker for Windows环境中运行Docker Linux容器。我还使用Dockerfile为我的项目编写docker

我在正确装入卷时遇到问题。特别是在my中,我可以看到文本“\host\u mnt”被添加到我的卷路径的开头。所以我的卷路径看起来像“\host\u mntC:\Users\blah\blah\blah”。路径正确,只是在开头添加了“\host\u mnt”


我的怀疑是,我不得不在Dockerfile中错误地输入卷装载路径。我尝试过使用相对路径、绝对路径以及卷的扩展表示法和卷的单行写入方式。

由于我使用的是Docker for Windows,如果右键单击Docker图标并选择“设置”,然后选择“共享驱动器”,则要确保使用的驱动器是共享的。但也有一个例子说明了如何在下面绑定挂载

在终端中,您可以运行以下示例:

docker run --rm -v c:/Users:/data alpine ls /data
“c:/Users:/data”是在Docker for Windows(从版本17.12.0-ce-win47开始)中为绑定装载写入路径文件的方式


在docker-compose.yaml文件中写入路径的方式与写入路径的方式相同。如果打开Kitematic,卷仍会显示“/host\u mnt”文本,但这没关系,应该是这样。

如果您的计算机没有用户密码,请创建管理员密码。然后,在Docker上选择共享驱动程序。并写入管理员密码。

尝试将docker重置为出厂默认值。在docker->settings->Reset中


在当前版本的Docker for Windows 18.06.0-ce-win70(19075)中,我没有看到任何“共享驱动器”选项。这是在Windows 10上。我使用的是Docker for Windows的早期版本,也是在Windows 10上。我现在无法更新。但在一次版本更新中,查看的位置可能没有改变。共享驱动器是屏幕左侧的第二个菜单项。这个链接上有一个图像Docker for Windows有两种模式:Windows容器模式和Linux容器模式,可以通过右键单击鲸鱼图标来切换。“共享驱动器”仅在Linux容器模式下可用。我认为在Windows容器模式下是不必要的。据我所知,Windows容器模式仍然是不常见的。大多数容器仍然是使用Linux容器构建的。因此,即使您使用的是Windows操作系统,您也可能使用Linux容器模式,因为大多数映像都是为创建Linux容器而构建的。