我使用以下命令为映像percona XtraDB集群创建了带有3个副本的对接服务
docker service create \
--name mysql-galera \
--replicas 3 \
-p 3306:3306 \
--network mynet \
--env MYSQL_ROOT_PASSWORD=mypassword \
--env DISCOVERY_SERVICE=10.0.0.2:2379 \
--env XTRABACKUP_PASSWORD=mypassword \
--env CLUSTER_NAME=galera \
perconalab/percona-xtradb-cluster:5.6我已经用三台机器初始化了码头群(用mach1、mach2、mach3命名),它们都是作为经理加入的。三台机器中的每一台都有相同的复制品
当我试图在mach2中停止停靠守护进程时,docker在mach3中又创建了一个副本容器。同样,我重新启动了码头守护进程,mach3仍然在运行两个副本,而mach2上没有任何副本。我手动删除了mach3中的容器,mach2与第三个副本一起运行。
如何在重新启动的码头机器上自动复制容器?
发布于 2018-04-03 06:19:29
我不认为码头服务再平衡的选择在码头群中是可行的。您可以通过使用-force选项更新服务来重新分发容器。
docker service update mysql-galera --force发布于 2018-04-03 02:30:22
您需要的是一种基于具有容量的主从节点的可用性来自动重新平衡副本集的方法。然而,要做到这一点,就需要杀死健康的容器并重新安排它们的时间。
这个https://github.com/moby/moby/issues/24103在码头群中有一个悬而未决的问题。
现在,如果您想要这样做,最好的方法似乎是向上/向下或创建一个部署,这将尝试重新安排队列中的容器。
https://stackoverflow.com/questions/49621003
复制相似问题