2017-07-16 107 views
1

我在VMWare工作站(不是Hyper-V,不是VirtualBox)上使用Windows 7上的Docker。我想将C:\Users以外的文件夹挂载到码头服务器虚拟机,因此它将可用于volume映射docker-compose使用VMWare工作站的Docker:在外部挂载卷

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

Docker volumes documentation如果您使用的是Mac或Windows泊坞窗机,你的码头工人引擎 守护只有您的MacOS或Windows文件系统的有限访问说

。 Docker机器尝试自动共享您的/ Users(macOS)或C:\ Users (Windows)目录。

但我的代码居住在C:\Users文件夹之外。我需要从Windows安装C:\source到容器。

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

回答

1

结束了我工作的是简单地创建一个从C:\Users文件夹到根源文件夹中的符号链接。

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

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

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

使用VMware工作站12.5.7建立-5813279

你怎么星级泊坞窗机重要

你必须从命令行启动码头机,如

docker-machine start 

从VMWare工作站GUI选择开始不会共享Users文件。 docker-machine start脚本中有一些内容需要共享Users文件夹。

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

enter image description here

+0

我不知道VMWare确实支持那些admin目录符号链接。 +1 – VonC

+1

VMware将读取在Windows中创建的链接,并将它们视为Linux中的实际目录。但VMware不允许linux在Windows共享文件夹中创建符号链接。所以它适用于我的目的,但功能不适用于两个方向。 – steampowered

1

首先,确保你有VMware Tools for Linux Guests

这将允许您定义use of a shared folder

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

换句话说,这不是一个码头工人的问题,更多的是VMWare的设置问题。

+0

这是行不通的。当我添加'C:'作为Host文件夹共享时,我只能在'C:'内看到'Users'文件夹。我尝试添加'C:\ source',但映射名称不显示。共享一个文件夹访问'Users'时,VMWare文件夹共享似乎工作。这可能就是手册所说的“**你的Docker Engine守护进程只能访问你的macOS或Windows文件系统**” – steampowered