docker run -v即使没有VOLUME或mkdir也可以工作

时间:2018-11-27 16:57:16

标签: docker volume mount

“ VOLUME”或“ RUN mkdir / m”有什么用?

即使我未在Dockerfile中指定这些说明中的任何一条,“ docker run -v $ {PWD} / m:/ m”也有效。

1 个答案:

答案 0 :(得分:1)

在Dockerfile内部,VOLUME将目录标记为外部卷的安装点。即使docker run命令没有将现有文件夹挂载到该挂载点,docker也会创建一个命名卷来保存数据。

RUN mkdir /m的作用是mkdir在任何Unix系统上的作用。它在文件系统的根目录下创建一个名为m的目录。

docker run -v ...将主机目录绑定到容器内的卷。无论挂载点是否在Dockerfile中声明为卷,它都将起作用,如果不存在,它还将创建目录。因此,VOLUMERUN mkdir都不是使用该命令之前特别必要的,尽管它们可能有助于将意图传达给用户。