Boot2Docker 挂载本机目录问题

在Windows和Mac下,Docker都是运行在一个VirtualBox虚拟机里的,因此通常我们在使用Docker之前,需要先启动Boot2Docker,通过它来启动虚拟机。

On Windows

Boot2Docker在Windows下默认会设置c:/Users为_sharefolder_, 即挂载到虚拟机里的本机目录。通常我们都会把代码等数据放在容器之外(或单独的数据容器里)的。

Windows下只能挂载到/c/Users 和/Users目录下,可以在启动boot2docker的时候用参数指定:

$ boot2docker --vbox-share="e:/worktop=/c/Users" -v start

--vbox-share参数中,e:/worktop目录是本机(Host)目录,而/c/Users是指定虚拟机(vm)中的目录。

然后,启动容器的时候加上-v参数指定挂载:

$ docker run -v /c/Users:/workspace -it node

Users 挂载到 /Users 
/Users 挂载到 /Users 
c/Users 挂载到 /c/Users 
/c/Users 挂载到 /c/Users 
c:/Users 挂载到 /c/Users 
(---http://blog.csdn.net/jam_lee/article/details/40947429)

On Mac

Mac下启动Boot2Docker之后,与Win下同样,自动挂载了%HOME% 目录,也可以通过--vbox-share参数来修改。如:

$ docker run -v ~/Workspace:/Workspace -it node

则目录将被挂载到容器的/Workspace目录下。