如何将C:\Users之外的卷映射到Windows上的容器? [英] How do I map volume outside C:\Users to container on Windows?

查看:189
本文介绍了如何将C:\Users之外的卷映射到Windows上的容器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



我尝试通过以下方式从C:\Users\username创建一个symblink到D:\Workspace:


  1. map C:\Users\username\Workspace to / home / workspace

  2. 停止容器

  3. 重命名C:\Users\username\Workspace

  4. 创建名为Workspace的符号链接到D:\Workspace

  5. 启动容器

首先Docker在该会话中工作正常,直到重新启动Boot2Docker,然后启动容器,我会得到C:\Users\\ \\ username\Workspace文件存在。



我认为这是一个Docker的问题,但无论如何我想映射C:\Users之外。

解决方案



然后,您将将工作区安装在/ data



您可以找到更多关于Boot2Docker中的VirtualBox Guest添加者此处


I'm doing server side development and my workspace is located in D: because I'm not a fan of storing data on C: but just can't find a way to map d:\Workspace to /home/workspace

I've tried creating a symblink from C:\Users\username to D:\Workspace by:

  1. map C:\Users\username\Workspace to /home/workspace
  2. Stop container
  3. rename C:\Users\username\Workspace
  4. Create symlink named Workspace to D:\Workspace
  5. Start container

At first Docker worked fine during that session until I restart Boot2Docker, then start the container I'd get "C:\Users\username\Workspace file exists".

I think this is one Docker's issue but anyways I want to map outside C:\Users.

解决方案

  • Share workspace between host and Boot2Docker virtual machine $ boot2docker down $ cd "C:\Program Files\Oracle\VirtualBox" $ VBoxManage sharedfolder add boot2docker-vm --name mydata --hostpath "D:\Workspace" $ boot2docker up

  • Mount shared folder $ boot2docker ssh 'sudo mkdir -p /data' $ boot2docker ssh 'sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data'

  • Create data-only container. Docker best practices always recommends you use data-only containers. You can reuse already available data-only containers: $ docker run --volume /data:/data --name mydata dylanlindgren/docker-laravel-data

  • If you want this change to be permanent, you need to add last command inside startup config file /var/lib/boot2docker/bootlocal.sh sleep 10 && sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data docker start mydata

Then, you will have your workspace mounted at /data

You can find more documentation about VirtualBox Guest Additions in Boot2Docker here.

这篇关于如何将C:\Users之外的卷映射到Windows上的容器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆