我正在做服务器端开发,我的工作空间位于D:因为我不是在C:上存储数据的粉丝,但是找不到将d:\ Workspace映射到/ home / workspace的方法
我尝试创build一个从C:\ Users \用户名到D:\ Workspace的symblink:
起初,Docker工作正常,直到我重新启动Boot2Docker,然后启动容器,我会得到“C:\用户\用户名\工作区文件存在”。
我认为这是一个Docker的问题,但无论如何我想映射到C:\ Users之外。
在主机和Boot2Docker虚拟机之间共享工作区$ boot2docker down $ cd "C:\Program Files\Oracle\VirtualBox" $ VBoxManage sharedfolder add boot2docker-vm --name mydata --hostpath "D:\Workspace" $ boot2docker up
挂载共享文件夹$ boot2docker ssh 'sudo mkdir -p /data' $ boot2docker ssh 'sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data'
创建只有数据的容器。 Docker最佳实践总是 建议您使用纯数据容器。 您可以重新使用已有的仅限数据的容器: $ docker run --volume /data:/data --name mydata dylanlindgren/docker-laravel-data
如果你想这个改变是永久性的,你需要在启动配置文件/var/lib/boot2docker/bootlocal.sh sleep 10 && sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data docker start mydata
然后,您将在/ data处安装您的工作空间
在这里你可以在Boot2Docker中找到更多有关VirtualBox Guest Additions的文档。
现在更新了答案,因为boot2docker已被弃用。 码头机器现在也是如此。
答案在这里描述: https : //github.com/docker/machine/issues/1814
基本上,在虚拟Box UI中安装共享文件夹之后,您需要在命令提示符下运行以下命令:
# Note the extra / at the beginning of the path because of msys/MinGW. docker-machine.exe ssh default 'sudo mkdir --parents //e/Documents/workspace' docker-machine.exe ssh default 'sudo mount -t vboxsf e/Documents/workspace //e/Documents/workspace'