swarm模式下的复制docker容器是否包含多个数据副本?

swarm模式下的复制docker容器是否包含多个数据副本?,docker,docker-swarm,docker-swarm-mode,Docker,Docker Swarm,Docker Swarm Mode,我最近开始学习docker。然而,在研究swarm模式时,我发现容器可以放大。我想知道的是,一旦您在复制模式下缩放conatiner,容器中的数据也会被复制吗?还是只会产生新的容器 例如,假设我最初只创建了一个mysql服务副本。我在mysql容器中创建和更新表。稍后我将其扩展到3,新生成的容器是否包含相同的表数据?还将在3个docker实例之间连续复制数据吗?复制的服务将在每个容器中使用新的容器实例。Swarm不关心要存储在卷中的持久数据的复制 根据卷插件(例如,本地驱动程序/w远程nfs共享

我最近开始学习docker。然而,在研究swarm模式时,我发现容器可以放大。我想知道的是,一旦您在复制模式下缩放conatiner,容器中的数据也会被复制吗?还是只会产生新的容器


例如,假设我最初只创建了一个mysql服务副本。我在mysql容器中创建和更新表。稍后我将其扩展到3,新生成的容器是否包含相同的表数据?还将在3个docker实例之间连续复制数据吗?

复制的服务将在每个容器中使用新的容器实例。Swarm不关心要存储在卷中的持久数据的复制

根据卷插件(例如,本地驱动程序/w远程nfs共享),您只能读写一次或读写多次。即使您的卷允许读写多个,服务副本也可能不支持读写多个,例如,如果您将n个副本指向同一卷,mysql将无法工作。例如,您可以利用变量将卷指向同一nfs共享的不同目标文件夹

同样使用swarm,您将希望拥有需要从所有节点都可以访问的存储,因为容器可能会死亡并在不同的节点上重新生成。因此,您需要使用基于NFS或CIFS的远程共享(请参见示例usages)、Ceph或GlusterFS之类的存储群集或Portworx之类的云本机存储。虽然您必须为远程共享解决方案负责HA,但数据复制是存储群集和云本机存储的内置功能

如果容器化服务本身具有集群/副本意识,则通常最好不要使用swarm副本机制,除非所有实例都可以使用相同的参数集启动