在(Windows)主机上装载容器卷而不进行复制

时间:2018-01-08 10:05:27

标签: windows docker docker-toolbox

我有一个像

一样的容器
docker run -it --mount type=bind,source=/path/to/my/data,target=/staging -v myvol:/myvol buildandoid bash -l

它有两个挂载,一个用于将数据导入容器的绑定挂载,以及一个用于保存数据的命名卷。该容器用作可重现的Android(AOSP)构建环境,因此不是典型的Web服务。

我想从Windows主机访问myvol上的文件。如果我使用绝对路径进行安装,例如-v /c/some/path:/myvol,我可以这样做,但我相信docker会创建所有文件的副本并使它们保持同步。我真的想避免在Windows端创建这些文件(由于空间原因,因为它是几GB,性能原因,因为NTFS似乎不能很好地处理很多小文件)。

我可以以某种方式在主机上“挂载”容器目录或命名卷吗?所以完全反向绑定挂载。我想或者我可以在容器中安装samba或sshd,并使用它,但也许在docker / VirtualBox中内置了一些内容来实现这一点。

1 个答案:

答案 0 :(得分:0)

使用bind mounts。

https://docs.docker.com/engine/admin/volumes/bind-mounts/

  

相比之下,当您使用卷时,会在主机上的Docker存储目录中创建一个新目录,Docker会管理该目录的内容。