我看到有人定义了这样的卷(我仅在下面放置Dockefile的一部分以清楚地说明我的问题):
WORKDIR /usr/src/app
COPY . .
VOLUME . /usr/src/app
因此,在VOLUME行中,.
意味着WORKDIR
上面定义的当前目录。然后,VOLUME的第二部分是/usr/src/app
。这是惯例吗?这听起来像是定义为两次的音量相同的路径。我会误会吗?
另一个问题是定义体积的好处是什么/usr/src/app
?在项目中进行更改时是否可以将其反映在同一图像的所有容器中(因为已将COPY . .
项目文件夹复制到容器中)?
这似乎是一种冗余-在Dockerfiles中,VOLUME
这只是一个声明,用于将文件从映像复制到该位置上安装的卷。它不能指定host中的目录,只能在运行时完成。
VOLUME
可以使用多个参数,并在所有传递的位置声明卷-因此,如果多次指定同一目录,则尽管列出了两个等效路径,它也没有实际作用。
如果在该行之后或从该行生成的后续映像中更改了WORKDIR,则可能会有所不同,因为只有在运行容器时才解析相对路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句