VOLUME命令在Dockerfile中做什么?

我很难理解VOLUME的额外优势( https://docs.docker.com/engine/reference/builder/#volume )。

在Dockerfile中可以有mkdir来创build一个目录。 一旦目录被创build,我们可以处理它。 为什么指定VOLUME(挂载)并分配给该目录? VOLUME mount有什么好处? 我想在这里没有VOLUME了解我们会错过什么。

对我来说它看起来像一个多余的function,但我可能是错的。

Dockerfile中的mkdir只会在该容器中创build一个目录。 一个卷可以在主机上或另一个容器中,并且在容器被杀死时仍然存在。

一旦容器被删除,我们不想丢失数据,卷是非常有用的。 configuration文件,数据库数据等等。因此,您可以使用与完整的新docker容器相同的音量。 如果你只在Dockefile中创build一个目录,文件夹内的数据将被删除到容器。