多个卷到单个目标目录?

有没有办法从主机挂载多个卷来形成单个目标挂载点? 有点像这样:

docker run --name ubuntu_bash \ --rm --interactive --tty \ --volume=/media/Large/videos:/videos \ --volume=/media/Small/videos:/videos \ ubuntu find /videos 

我猜测答案是否定的,但是在Docker的上下文中有“覆盖”这么多的含义,在networking上search这个有点困难。

如果没有,有没有一个Docker商店的形象,可能有帮助? 不幸的是,很多Docker镜像并没有给出足够的指导如何使用它们。

没有内置的docker方法来为卷执行此操作,它们通常是本地卷的绑定挂载。 unionfs坐标是用于创build容器的图像图层,但是卷完全在此之外运行,并挂载在unionfs顶部,拦截所有到该目录的文件系统请求。

如果你创build一个解决scheme来使用linux挂载,你可以在docker中用相同的linux挂载选项定义一个卷mount。 例如,在docker中执行NFS挂接的方法如下:

 # For a reusable volume $ docker volume create --driver local \ --opt type=nfs \ --opt o=addr=192.168.1.1,rw \ --opt device=:/path/to/dir \ foo # For a local container with docker run $ docker run -it --rm \ --mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,volume-opt=o=addr=192.168.1.1,volume-opt=device=:/host/path \ foo # For a swarm mode service $ docker service create \ --mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,volume-opt=o=addr=192.168.1.1,volume-opt=device=:/host/path \ foo 

请注意,在所有这些示例中,卷驱动程序都是本地卷,而卷-opt用于像mount命令一样传递所有的安装选项。