我有一个像
一样的容器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中内置了一些内容来实现这一点。
答案 0 :(得分:0)
使用bind mounts。
https://docs.docker.com/engine/admin/volumes/bind-mounts/
相比之下,当您使用卷时,会在主机上的Docker存储目录中创建一个新目录,Docker会管理该目录的内容。