如何使用Docker的--volumes-from映射卷路径?

我是Docker的新手,对使用该--volumes-from功能感到兴奋,但是有些事情我不了解。

如果我想使用--volumes-

from两个仅数据容器,每个容器都导出名为的卷/srv,如何防止卷路径冲突?使用创建绑定装载时,我可以映射卷名称[host-

dir]:[container-dir]。我该怎么做--volumes-from

所以我想要的看起来像这样:

docker run --name=DATA1 --volume=/srv busybox true

docker run --name=DATA2 --volume=/srv busybox true

docker run -t -i -rm --volumes-from DATA1:/srv1 --volumes-from DATA2:/srv2 ubuntu bash

回答:

可以完成,但目前在Docker命令行界面中尚不支持。

回答:

查找卷目录:

docker inspect DATA1 | grep "vfs/dir"

# output something like:

# "/srv": "/var/lib/docker/vfs/dir/<long vol id>"

因此,您可以自动执行此操作,并将这些目录挂载到您选择的挂载点:

# load directories in variables:

SRV1=$(docker inspect DATA1 | grep "vfs/dir" | awk '/"(.*)"/ { gsub(/"/,"",$2); print $2 }')

SRV2=$(docker inspect DATA2 | grep "vfs/dir" | awk '/"(.*)"/ { gsub(/"/,"",$2); print $2 }')

现在,通过真实目录而不是–volumes-from挂载这些卷:

docker run -t -i -v $SRV1:/srv1 -v $SRV2:/srv2 ubuntu bash

IMO,功能是相同的,因为这与使用时所做的相同--volumes-from

以上是 如何使用Docker的--volumes-from映射卷路径? 的全部内容, 来源链接: utcz.com/qa/434128.html

回到顶部