将多个卷发送到单个目标目录?



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

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

我猜答案是否定的,但是由于"覆盖"在Docker的上下文中具有如此多的含义,因此在网络上搜索它有点困难。

如果没有,是否有 Docker 应用商店映像可能会有所帮助?不幸的是,许多 Docker 镜像没有给出有关如何使用它们的足够说明。

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

如果创建解决方案以使用 Linux 挂载执行此操作,则可以使用相同的 Linux 挂载选项在 docker 中定义卷挂载。例如,在 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

请注意,在所有这些示例中,卷驱动程序是本地的,卷选择用于传递所有挂载选项,就像在挂载命令上一样。

相关内容

  • 没有找到相关文章

最新更新