您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Docker容器中处理持久数据时,绑定挂载和卷之间有什么区别?

在Docker容器中处理持久数据时,绑定挂载和卷之间有什么区别?

对于持久性数据,我们基本上有3种类型的卷或装载:

绑定坐骑

命名卷

dockerfile中的卷

绑定挂载基本上只是从容器内的主机绑定某个目录或文件docker run -v /hostdir:/containerdir IMAGE_NAME

命名卷是您使用手动创建的卷docker volume create VOLUME_NAME。它们是在它们中创建的/var/lib/docker/volumes,只能由它们的名称引用。假设您创建了一个名为“ MysqL_data”的卷,您可以像这样引用它docker run -v MysqL_data:/containerdir IMAGE_NAME

然后在dockerfiles中有由VOLUME指令创建的卷。这些卷也以以下/var/lib/docker/volumes名称创建,但没有特定名称。他们的“名字”仅仅是某种哈希。在运行容器时将创建该卷,并且无论您是否启动容器,该卷都可以方便地保存持久数据-v。开发人员可以说出重要数据在哪里以及应该保留哪些数据。

您要使用的功能主要取决于首选项或您的管理。如果要将所有内容保留在“ docker区域”(/var/lib/docker)中,则可以使用卷。如果要保留自己的目录结构,则可以使用绑定。

,因为卷是由docker创建和管理的,并且绑定具有更大的失败可能性(同样由于第8层问题)。

如果使用绑定并想在其他主机上传输容器/应用程序,则必须重建目录结构,因为每台主机上的卷都更加统一。

其他 2022/1/1 18:21:29 有458人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶