我正在进行服务器端开发,而我的工作区位于D:因为我不是在C上存储数据的粉丝:但是却无法找到映射d:\的方法工作区到/ home / workspace
我尝试通过以下方式创建从C:\ Users \ username到D:\ Workspace的symblink:
起初Docker在该会话期间工作正常,直到我重新启动Boot2Docker,然后启动容器我得到" C:\ Users \ username \ Workspace文件存在"。
我认为这是Docker的一个问题,但无论如何我想在C:\ Users之外进行映射。
答案 0 :(得分:5)
在主机和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最佳做法always recommends您使用的是仅限数据的容器。您可以重用已有的仅数据容器:
$ 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 here中找到有关VirtualBox Guest Additions的更多文档。
答案 1 :(得分:4)
暂时更新了答案,因为不推荐使用boot2docker。 现在用docker-machine实现了同样的目的。
答案在此处描述:https://github.com/docker/machine/issues/1814
基本上,在Virtual 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'