gpt4 book ai didi

docker - 装入命名卷时,在什么条件下从容器复制数据?

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

我知道,在某些情况下,将命名卷安装在容器上会导致容器中的数据自动复制到该卷,这与匿名卷类似。

但是,即使在阅读了文档之后,我仍然不清楚触发该副本的确切条件是什么。

我用两个文件test/root/a/a.txt创建了一个/root/b/b.txt图像,并执行了以下实验:

$ docker volume create --name hello
hello
$ docker run -v hello:/root/a test /bin/true
$ docker run -v hello:/root/b test /bin/true
$ docker run -ti -v hello:/tmp/result test /bin/bash

(现在在容器内)
# cd /tmp/result
# ls
a.txt

似乎是在第一次安装之后而不是之后将数据复制到卷中(尽管没有为第二次安装指定 nocopy)。

命名卷是否具有隐藏状态以跟踪是否尚未挂载?还是仅由于卷为空而触发复制?如果仅第一次复制,那么 nocopy修饰符对 -vdocker run选项的作用是什么?

我正在使用Docker 1.11.1版本。

最佳答案

根据我的测试,当您运行容器时,如果卷为空,它似乎会触发复制。

我测试了从一个容器中的第一个安装点填充的卷。在另一个容器的第二个安装点上使用此命名的卷显示了第一个安装点的内容。然后,我删除了内容,但是容器仍在运行,并且卷仍在装入。最后,我启动了另一个具有不同安装点的容器,然后填充了第二个安装点中的内容。

关于docker - 装入命名卷时,在什么条件下从容器复制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37689323/

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