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

时间:2017-07-16 03:31:44

标签: docker docker-compose

我在Windows 7上使用Docker和VMWare工作站(不是Hyper-V,而不是VirtualBox)。我想将C:\Users之外的文件夹挂载到docker VM,以便volume中的docker-compose映射可用。

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

Docker volumes documentation

  

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

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

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

2 个答案:

答案 0 :(得分:1)

首先,请确保您有VMware Tools for Linux Guests

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

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

换句话说,这不是泊坞问题,而是VMWare设置问题。

答案 1 :(得分:1)

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

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

现在我的compose volume config看起来像这样

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

使用VMWare Workstation 12.5.7 build-5813279

你如何为Docker机器加注问题

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

docker-machine start

从VMWare工作站GUI选择启动不会共享Users文件。 docker-machine start脚本中有一些内容是共享Users文件夹所必需的。

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

enter image description here