在DockerFile中定义VOLUME挂载点的目的是什么,而不是adhoc cmd-line -v?
我明白在Dockerfile中使用VOLUME命令可以在容器中定义一个挂载点。
FROM centos:6 VOLUME /html
但是我注意到,如果没有VOLUME定义,无论如何定义,仍然可以在该VOLUME点上进行安装
docker run -ti -v /path/to/my/html:/html centos:6
在dockerfile中定义VOLUME挂载点的目的是什么? 我怀疑这是为了可读性,所以人们可以阅读Dockerfile,并立即知道什么是要装入?
在Dockerfile
中使用的VOLUME
指令不允许我们进行主机挂载,这是我们从主机OS挂载目录到容器的地方。
然而,其他容器仍然可以使用在Dockerfile
使用VOLUMES
指令创build的Dockerfile
--from-container=<container name>
装入到容器的卷中
我明白在Dockerfile中使用VOLUME命令可以在容器中定义一个挂载点。
那是不对的。 在这种情况下,卷是为图像定义的,而不是为容器定义的。
当在Dockerfile中定义一个卷时,它将被设置为一个映像,所以从该映像运行的每个容器都会定义该卷。
如果您在命令行(docker run -v …)中定义了卷,那么只为特定容器定义卷。