如何进行docker群集或热备份docker容器?

时间:2014-12-03 14:18:14

标签: docker

是否可以对docker容器进行热拷贝?或者使用docker进行某种聚类以用于HA目的?

有人可以简化这个吗?

How to scale Docker containers in production

2 个答案:

答案 0 :(得分:1)

Docker容器并非设计为VM,并不适用于热备份。相反,您应该定义容器,使其具有众所周知的启动状态。如果容器发生故障,备用容器应从众所周知的启动状态开始。如果您需要跟踪容器在运行时生成的状态,则必须在docker外部完成。

一种选择是使用卷将状态(文件)挂载到主机文件系统。然后使用RAID,NTFS或任何其他方法与其他物理节点共享该文件系统。然后,您可以将相同的文件挂载到具有相同状态的第二台主机上的第二个docker容器上。

根据您在容器中运行的内容,您还必须在容器内声明共享,例如使用mongo复制集。重申虽然容器尚未设计为以运行时状态迁移。

答案 1 :(得分:1)

Docker之间的各种技术可以提供帮助,具体取决于您需要的HA。

如果您只是希望在不同主机上启动无状态服务容器,则需要网络覆盖,例如weave

如果您希望复制数据以进行数据库故障转移等操作,则需要一个存储解决方案,例如Flocker

如果要运行多个服务并进行负载平衡并忘记每个容器运行的主机,假设X实例已启动,那么Kubernetes就是您需要的工具。

可以使许多与Docker相关的工具协同工作,我们有a few stories on our blog already