据我所知,在Dockerfile中使用VOLUME命令,定义容器内的挂载点。
FROM centos:6
VOLUME /html
但是我注意到没有VOLUME定义,无论定义它还是可以挂载在VOLUME点上
docker run -ti -v /path/to/my/html:/html centos:6
在dockerfile中定义VOLUME挂载点的目的是什么?我怀疑它是为了可读性所以人们可以阅读Dockerfile并立即知道要安装的是什么?
答案 0 :(得分:1)
VOLUME
中使用的 Dockerfile
指令不允许我们进行主机挂载,即我们将目录从主机操作系统挂载到容器中。
然而,其他容器仍然可以使用--from-container=<container name>
中的VOLUMES
指令创建的Dockerfile
装载到容器的卷中
答案 1 :(得分:0)
我理解在Dockerfile中使用VOLUME命令, 在容器中定义一个挂载点。
那不对。在这种情况下,卷是为图像定义的,而不是为容器定义的。
当在Dockerfile中定义了一个卷时,它会为图像设置,因此从该图像运行的每个容器都会定义该卷。
如果在命令行中定义卷(docker run -v ...),则仅为该特定容器定义卷。