互联网技术 / 互联网资讯 · 2023年12月31日

使用绑定挂载在Docker中学习云计算核心技术

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

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

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

选择-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绑定贴装尚不泊坞窗主机上存在的文件或目录,码头工人也不会自动为您创建它,但会产生一个错误。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册