Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker存储驱动程序是持久存储吗_Docker_Kubernetes_Openshift_Persistent Storage_Device Mapper - Fatal编程技术网

docker存储驱动程序是持久存储吗

docker存储驱动程序是持久存储吗,docker,kubernetes,openshift,persistent-storage,device-mapper,Docker,Kubernetes,Openshift,Persistent Storage,Device Mapper,我是docker的新手,我正在努力理解docker中的持久存储 在“管理应用程序数据>在容器中存储数据>关于存储驱动程序”部分中 存储驱动程序允许 您需要在容器的可写层中创建数据。档案 将不会在删除容器后保持,并且读取和 写入速度低于本机文件系统性能 但在后面的“管理应用程序数据>在容器中存储数据>使用设备映射器存储驱动程序”一节中 他们使用直接lvm创建允许持久化数据的逻辑卷 我的问题:使用存储驱动程序意味着: 容器生成的数据是否短暂 如果我们使用的是逻辑模型,那么容器生成的数据是短暂的 环回

我是docker的新手,我正在努力理解docker中的持久存储

在“管理应用程序数据>在容器中存储数据>关于存储驱动程序”部分中


存储驱动程序允许 您需要在容器的可写层中创建数据。档案 将不会在删除容器后保持,并且读取和 写入速度低于本机文件系统性能

但在后面的“管理应用程序数据>在容器中存储数据>使用设备映射器存储驱动程序”一节中
他们使用直接lvm创建允许持久化数据的逻辑卷

我的问题:使用存储驱动程序意味着:

  • 容器生成的数据是否短暂
  • 如果我们使用的是逻辑模型,那么容器生成的数据是短暂的 环回设备上的卷
  • 如果我们使用的是逻辑容器,那么容器生成的数据是持久的 块设备上的卷

  • 存储驱动程序配置本质上是一种安装时间设置,一旦设置正确,它就与实际无关。特别是,如果您运行
    docker info
    并显示它正在使用
    overlay2
    驱动程序,我建议您关闭此特定浏览器选项卡,不要更改任何内容

    在您引用的段落中,需要删除的重要内容是,您在容器中创建的文件(不在卷目录中)将在容器删除后立即丢失。您使用的底层存储驱动程序并不重要。容器文件系统、命名卷和绑定装载之间的性能差异几乎无关紧要(除了在绑定装载非常慢的MacOS主机上)

    存储驱动程序保存的数据包括临时容器文件系统(在删除容器之前,这些文件系统会一直保存)和基础映像数据。它不包括命名的Docker卷或其他绑定装载的主机目录


    如果您使用的是devicemapper,您可能会看到是否可以将主机升级到可以使用overlay2驱动程序的较新Linux发行版。特别是,这避免了devicemapper驱动程序的固定空间限制。如果您必须使用devicemapper,一般认为使用专用分区比使用文件更好。正如我前面所说,这基本上是安装时配置,与应用程序或docker run命令无关。

    感谢您的回答,您能告诉我容器所做的更改总是在可写层上,该层可能位于环回设备(临时存储)的精简池中还是在逻辑卷(持久存储)上?您能回答这些问题吗?这取决于您在容器文件系统中写入的路径是否在装入的卷中。(目前大多数Docker安装都不使用devicemapper设置,因此它永远不会“在环回设备的精简池中”。)