gpt4 book ai didi

docker - Docker Volumes 中 -volume 和 -volumes-from 的区别

转载 作者:行者123 更新时间:2023-12-02 00:50:02 28 4
gpt4 key购买 nike

docker volume 命令中使用的两个标志之间的确切区别是什么 -v--volumes-from .在我看来,他们正在做同样的工作,请考虑以下场景。
首先让我们创建一个名为 myvol 的卷使用命令:

$ docker volume create myvol
现在创建并运行一个名为 c1 的容器使用 myvol并进入他的狂欢:
$ docker run -it --name c1 -v myvol:/data nginx bash
让我们创建一个文件 test.txt在容器的挂载目录中为:
root@766f90ebcf37:/# touch /data/test.txt
root@766f90ebcf37:/# ls /data
test.txt
使用 -volume旗帜:
现在创建另一个名为 c2 的容器也使用 myvol :
$ docker run -it --name c2 -v myvol:/data nginx bash
正如预期的那样,新生成的容器 c2还可以访问 myvol的所有文件
root@393418742e2c:/# ls /data
test.txt
现在用 --volumes-from 做同样的事情
创建一个名为 c3 的容器使用容器中的卷 c1
$ docker run -it --name c3 --volumes-from c1 nginx bash
这将在 c3 中产生同样的结果。 :
root@27eacbe25f92:/# ls /data
test.txt
关键是如果 -v--volumes-from以相同的方式工作,即在容器之间共享数据然后为什么它们是不同的标志以及什么 --volumes-from可以做到 -v无法做到?

最佳答案

The point is if -v and --volumes-from are working the same way i.e. to share data between containers


-v--volumes-from工作方式不同,但与他们一起,你 可以 在容器之间共享数据。

what --volumes-from can do that -v cannot do?



例如。它可以连接到另一个容器卷,而无需知道卷的命名方式并且您不指定路径。您可以为容器 ID 添加后缀,权限类似于 :ro:rw .
更多详情 here - 从容器(--volumes-from)部分挂载卷

另一个问题是什么 -v可以做到 --volumes-from无法做到?
例如。它可以挂载命名卷,您可以挂载主机目录或 tmpfs (这个你不能在容器之间共享)。在 --volume-from您不能直接与主机共享数据。

结论是: --volume的目的是与主机共享数据。 ( here you can find more use cases )。 --volumes-from的目的是为了在容器之间共享数据。
他们俩一起工作得很好。

关于docker - Docker Volumes 中 -volume 和 -volumes-from 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58435359/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com