windows - 如何在 C :\Users to container on Windows? 之外映射音量

标签 windows docker mount

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

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

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

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

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

最佳答案

  • 在主机和 Boot2Docker 虚拟机之间共享工作空间 $ boot2docker 下来 $ cd "C:\Program Files\Oracle\VirtualBox" $ VBoxManage 共享文件夹添加 boot2docker-vm --name mydata --hostpath "D:\Workspace" $ boot2docker 起来

  • 挂载共享文件夹 $ 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 启动我的数据

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

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

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

相关文章:

c++ - 在特定功能上测量新/旧代码 CPU 使用率

c# - 如何在运行 exe 后关闭 cmd 窗口。从它的文件?

docker - 将 jenkins secret 文件传递给 docker image run

c# - 在 C# 中检测驱动器挂载事件

c++ - 如何在 VS2008 中将#define 定义转换为字符串?

c++ - Windows 上的模板有什么问题?有哪些解决方案?

windows - 在 Windows Server 2016 TP4 上安装 Docker

docker - GitHub 操作 : Get all job commands to run in a Docker container

linux - 我应该使用 none/nodev/debugfs 中的哪一个来挂载 debugfs?

azure - 将 secret 添加到卷安装时无效 Base64