如何将C:\Users之外的卷映射到Windows上的容器? [英] How do I map volume outside C:\Users to container on Windows?
问题描述
我尝试通过以下方式从C:\Users\username创建一个symblink到D:\Workspace:
- map C:\Users\username\Workspace to / home / workspace
- 停止容器
- 重命名C:\Users\username\Workspace
- 创建名为Workspace的符号链接到D:\Workspace
- 启动容器
首先Docker在该会话中工作正常,直到重新启动Boot2Docker,然后启动容器,我会得到C:\Users\\ \\ username\Workspace文件存在。
我认为这是一个Docker的问题,但无论如何我想映射C:\Users之外。
-
在主机和Boot2Docker之间共享工作区v虚拟机
$ boot2docker down
$ cdC:\Program Files\Oracle\VirtualBox
$ VBoxManage sharedfolder add boot2docker-vm --name mydata --hostpathD:\Workspace
$ boot2docker up
-
挂载共享文件夹
$ boot2docker ssh'sudo mkdir -p / data'
$ boot2docker ssh'sudo mount -t vboxsf -odefaults,uid = 33, gid = 33,rwmydata / data'
-
创建仅数据的容器。 Docker最佳做法始终 建议您使用仅数据的容器。您可以重用已经可用的仅数据的容器:
$ docker run --volume / data:/ data --name mydata dylanlindgren / docker-laravel-data
-
如果您希望此更改是永久性的,您需要在启动配置文件/ var / lib / boot2docker中添加最后一个命令/bootlocal.sh
sleep 10&& sudo mount -t vboxsf -odefaults,uid = 33,gid = 33,rwmydata / data
docker start mydata
然后,您将将工作区安装在/ 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:
- map C:\Users\username\Workspace to /home/workspace
- Stop container
- rename C:\Users\username\Workspace
- Create symlink named Workspace to D:\Workspace
- 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屋!