gpt4 book ai didi

docker - 我在实践中对Docker卷使用的困惑

转载 作者:行者123 更新时间:2023-12-02 18:58:57 25 4
gpt4 key购买 nike

我看到有人定义了这样的卷(我仅在下面放置Dockefile的一部分以清楚地说明我的问题):

WORKDIR /usr/src/app
COPY . .
VOLUME . /usr/src/app

因此,在VOLUME行中, .表示当前目录,即上面定义的 WORKDIR。然后,VOLUME的第二部分是 /usr/src/app。这是惯例吗?对我来说,这听起来像是一条定义为音量的相同路径。我会误会吗?

另一个问题是定义音量 /usr/src/app有什么好处?在项目中进行更改时是否可以将其反射(reflect)在同一图像的所有容器中(是因为 COPY . .将项目文件夹复制到了容器中)?

最佳答案

这似乎是一种冗余-在Dockerfiles中,VOLUME只是一个声明,用于将文件从镜像复制到该位置安装的卷。它为cannot specify the directory in the host,只能在运行时完成。
VOLUME can take multiple arguments,并在所有通过的位置声明卷-因此,如果您多次指定同一目录,则尽管列出了两个等效路径,但它实际上没有任何作用。

如果在该行之后或从该行生成的后续镜像中更改了WORKDIR,则可能会有所不同,因为只有在运行容器时才解析相对路径。

关于docker - 我在实践中对Docker卷使用的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62412016/

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