我正在服务器端开发,我的工作区位于D:中,因为我不喜欢在C:上存储数据,但是找不到将d:\Workspace映射到/home/workspace的方法

我尝试通过以下方式创建从C:\Users\username到D:\Workspace的符号链接(symbolic link):

  • 将C:\Users\username\Workspace映射到/home/workspace
  • 停止容器
  • 重命名C:\Users\username\Workspace
  • 创建名为Workspace的符号链接(symbolic link)到D:\Workspace
  • 启动容器

  • 最初,Docker在该 session 中运行良好,直到我重新启动Boot2Docker,然后启动容器后我会得到“C:\Users\username\Workspace文件存在”。

    我认为这是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最佳实践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 /datadocker start mydata

  • 然后,将您的工作空间安装在/data

    您可以在Boot2Docker here中找到有关VirtualBox Guest Additions的更多文档。

    关于windows - 如何在C :\Users to container on Windows?之外映射音量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30586949/

    10-16 13:57