挂载数据命令

选择使用 -v还是–mount

volumes和Bind mounts都可以通过使用标志-v或–volume来挂载到容器中,只是格式有些许不同。tmpfs可以使用标志–tmpfs进行挂载。然而,在Docker17.06及其以上版本中,我们推荐使用–mount来对容器或服务进行这三种方式的挂载,因为这种格式更加清晰。

①如果本地数据卷或者本地目录尚未创建,-v命令则会自动创建,–mount则会报错

②如果是容器里的目录不存在,两者都会自动创建.

-v 命令

-v 或 –volume 标志:由三个由冒号(:)分隔的字段组成。这些字段必须按照正确的顺序排列,每个字段的含义并不明显。
对于命名卷,第一个字段是卷的名称,并且在给定主机上是唯一的。对于匿名卷,第一个字段被省略。
第二个字段是文件或目录在容器中的挂载路径。
第三个字段是可选的,并且是一个逗号分隔的选项列表,例如 ro。这些选项在下面讨论。

=》推荐使用–mount 选项命令

提示:初学者应该使用 –mount 语法。有经验的用户会更熟悉 -v 和 –volume 语法,但是仍然建议使用 –mount 语法,因为调查显示它更加易用。

—mount:由多个键值对组成,=。—mount要比-v或者–volume命令更长,但是更容易理解。

注意:

  1. 使用 –mount 标志来绑定挂载 Docker 主机中不存在的文件或目录时,Docker 不会自动为你创建,而是产生报错。
  2. 当挂载的类型type=bind时,宿主机的目录或文件(必须是绝对路径)被挂载到容器中(容器内可以是相对路径)。
  3. 当使用bind mounts方式时,宿主机的目录或文件被挂载到容器中。尽可能的将该文件所在的目录挂载到容器内,当然有时(例如一些软件的配置文件)只能挂载文件到容器