“ VOLUME”或“ RUN mkdir / m”有什么用?
即使我未在Dockerfile中指定这些说明中的任何一条,“ docker run -v $ {PWD} / m:/ m”也有效。
答案 0 :(得分:1)
在Dockerfile内部,VOLUME
将目录标记为外部卷的安装点。即使docker run命令没有将现有文件夹挂载到该挂载点,docker也会创建一个命名卷来保存数据。
RUN mkdir /m
的作用是mkdir
在任何Unix系统上的作用。它在文件系统的根目录下创建一个名为m
的目录。
docker run -v ...
将主机目录绑定到容器内的卷。无论挂载点是否在Dockerfile中声明为卷,它都将起作用,如果不存在,它还将创建目录。因此,VOLUME
或RUN mkdir
都不是使用该命令之前特别必要的,尽管它们可能有助于将意图传达给用户。