我很难理解 VOLUME(https://docs.docker.com/engine/reference/builder/#volume) 的附加优势。
在 Dockerfile 中可以使用 mkdir 创建目录。一旦创建了目录,我们就可以处理它。为什么要指定一个 VOLUME(挂载)并分配给该目录? VOLUME 安装有什么优势?我试图在没有 VOLUME 的情况下在这里了解我们会错过什么。
对我来说它看起来像一个多余的功能,但我可能错了。
最佳答案
VOLUME 命令将指定容器中的安装点。此挂载点将映射到主机上的位置,该位置在创建容器时指定,或者如果未指定,则从 /var/lib/docker/volumes
中创建的目录中自动选择。 .
如果选择作为挂载点的目录包含任何文件,则这些文件将被复制到此卷中。与 mkdir 相比的优势在于,它会在容器终止后将文件持久保存到主机上的某个位置。
似乎有些人质疑您为什么要使用 VOLUME 命令,因为它会创建一个匿名卷。匿名卷不再有太多用处,基本上是 Docker 在可以命名卷之前的早期产物。您通常会在创建容器时指定卷名:
docker container run -v my-volume:/data image_tag
在本例中,/data
是容器中的挂载点,my-volume
是本地主机上的卷。如果 my-volume
该命令运行时不存在,则在本地主机上创建。
关于docker - VOLUME 命令在 Dockerfile 中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43981040/