使用VMWare Workstation的Docker:在用户外部安装卷

我在VMWare工作站上使用Windows 7上的Docker(不是Hyper-V,不是VirtualBox)。 我想在C:\Users之外安装一个文件夹到docker虚拟机,以便在docker-compose进行volume映射。

 volumes: - //c/source:/opt/app 

Docker卷文档说

如果您在Mac或Windows上使用Docker计算机,则Docker引擎守护程序只能访问您的macOS或Windows文件系统。 Docker机器尝试自动共享您的/ Users(macOS)或C:\ Users(Windows)目录。

但是我的代码不在C:\Users文件夹中。 我需要从Windows安装C:\source到容器。

我可以在启动时将卷挂载到VM吗? 如果是这样,命令将是什么样子,我会在哪里运行该命令?

首先,确保您拥有适用于Linux客户端的VMware Tools

这将允许您定义共享文件夹的使用

https://www.vmware.com/support/ws5/doc/img/w_sharefolder_name.png

换句话说,这不是docker问题,更多的是VMWare设置问题。

最终为我工作的是简单地创build一个从C:\Users文件夹到根源文件夹的符号链接。

 C:\Users>mklink /d source c:\source\ symbolic link created for source <<===>> c:\source\ 

现在我的撰写卷configuration看起来像这样

 volumes: - /c/Users/source/myApp1:/app 

使用VMWare Workstation 12.5.7 build-5813279

你如何看待Docker机器是重要的

您必须从命令行启动docker机器,例如

 docker-machine start 

从VMWare工作站GUI中select启动将不共享Users文件。 docker-machine start脚本中有一些内容需要共享Users文件夹。

你会看到在VMWare设置中共享的Users文件夹,但不要被认为这个设置捕获了共享所有必要的需求。 从VMWare工作站启动虚拟机不足以导致共享发生。

在这里输入图像说明