云计算核心技术Docker教程:在Docker中使用绑定挂载

自Docker诞生以来,绑定挂载就已经存在。与卷相比,绑定安装的功能有限。使用绑定安装时,主机上的文件或目录将安装到容器中

自Docker诞生以来,绑定挂载就已经存在。与卷相比,绑定安装的功能有限。使用绑定安装时,主机上的文件或目录将安装到容器中。该文件或目录由其在主机上的绝对路径引用。相比之下,当您使用卷时,将在主机上的Docker的存储目录中创建一个新目录,并且Docker管理该目录的内容。

该文件或目录不需要在Docker主机上已经存在。如果尚不存在,则按需创建。绑定挂载性能很高,但是它们依赖于主机的文件系统,该文件系统具有可用的特定目录结构。如果要开发新的Docker应用程序,请考虑使用 命名卷。您不能使用Docker CLI命令直接管理绑定安装。

TIM截图20210506172105

选择-v或–mount标志

总的来说,–mount是更明确和冗长的。最大的区别是该-v语法在一个字段中将所有选项组合在一起,而–mount 语法将它们分开。这是每个标志的语法比较。

-v或–volume:由三个字段组成,以冒号(:)分隔。这些字段必须以正确的顺序排列,并且每个字段的含义不是立即显而易见的。

对于绑定安装,第一个字段是主机上文件或目录的路径。

第二个字段是文件或目录在容器中的安装路径。

第三个字段是可选的,并且是用逗号分隔的选项,诸如列表ro,z和Z。这些选项将在下面讨论。

–mount:包含多个键值对,以逗号分隔,每个键值对都由一个=元组组成。该–mount语法是更详细的比-v或–volume,但按键的顺序并不显著,并且标志的价值更容易理解。

该type安装件,其可以是bind,volume,或tmpfs。本主题讨论绑定安装,因此类型始终为bind。

该source的安装。对于绑定安装,这是Docker守护程序主机上文件或目录的路径。可以指定为source或 src。

的destination作为其值,其中的文件或目录被安装在容器的路径。可以指定为destination,dst或target。

该readonly选项(如果存在)会使绑定安装以只读方式安装到容器中。

该bind-propagation选项(如果存在)将更改 绑定传播。可以是一个rprivate, private,rshared,shared,rslave,slave。

该–mount标志不支持z或没有Z用于修改selinux标签的选项。

-v和–mount行为之间的区别

由于-vand–volume标志已经很长时间成为Docker的一部分,因此它们的行为无法更改。这意味着和之间存在一种不同的行为。-v–mount

如果您使用-v或–volume绑定安装Docker主机上尚不存在的文件或目录,请-v为您创建端点。始终将其创建为目录。

如果您使用–mount绑定贴装尚不泊坞窗主机上存在的文件或目录,码头工人也不会自动为您创建它,但会产生一个错误。

为TA充电
共{{data.count}}人
人已赞赏
云计算

比尔盖茨离婚 1300亿美元财产分割:前妻已到手24亿美元

2021-5-6 17:41:22

云计算

做出电影级的 CG 渲染!斯坦福大学研究人员提出神经光图渲染

2021-5-6 17:57:31

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索