首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头卷是机器专用的吗?

码头卷是机器专用的吗?
EN

Stack Overflow用户
提问于 2017-11-13 12:41:35
回答 1查看 45关注 0票数 0

我是新来的码头工人。据我所知,Docker允许您从集群中抽象出来。意味着您不关心部署在哪个硬容器上。

另一方面,在Docker中处理数据库的标准方法是在Docker容器之外写入数据(以避免复制到写入行为)。这是通过挂载音量并向其写入与数据库相关的数据来实现的。重要的是-卷是机器专用的吗?Docker & Docker群是否足够聪明,能够在所需的机器上安装卷?

示例:

我有3台机器和3个微型服务/容器。他们都是通过码头群部署的。只有一个微服务/容器必须连接到数据库。所以我只需要在一台机器上安装音量。但在哪上呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-13 13:17:55

数据库和类似的有状态应用程序在涉及Docker和其他编排框架时仍然是一件很难处理的事情。理想情况下,容器应该能够在集群中的任何节点上运行,但是当您需要将数据持久化到容器生命周期之外时,问题就出现了。

挂载卷是持久化数据的Docker方式,但是这会将容器与特定节点联系起来,因为卷是在特定节点上创建的。有许多项目试图解决这个问题,并提供某种类型的分布式存储。

有一个名为絮凝器的项目处理上述问题(不再维护)。还有一个名为雷克雷的新项目。

Docker & Docker群是否足够聪明,能够在所需的机器上安装卷?

默认情况下不。码头群将选择其中一个节点,并在其上部署容器。但是,您可以解决这个问题:

首先,您需要在服务定义下的Stackfile/Composefile中定义一个命名卷。其次,您需要使用节点放置约束来限制数据库容器应该运行的位置。

如果您不是分布式存储工具,那么当涉及到需要卷的数据库和类似的有状态容器时,您需要将容器限制在特定的节点上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47264614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档