我使用以下命令为镜像 percona XtraDB集群创建了docker服务,其中包含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命名)初始化了docker swarm,并且都以管理员身份加入。副本平均分配到三台计算机中的每台
当我尝试在 mach2 中停止docker守护程序时,docker在 mach3 中又创建了一个副本容器。我再次重新启动了docker守护程序, mach3 仍在运行两个副本,而 mach2 上没有任何操作。我手动删除了 mach3 中的容器,并且 mach2 与第三个副本一起使用
我应该怎么做才能在重启的Docker计算机上自动复制容器?
最佳答案
我认为docker swarm中没有提供docker service re balance选项...您可以通过使用--force选项更新服务来重新分发容器
docker service update mysql-galera --force
关于docker - 重新启动Docker守护程序时如何在Docker服务内复制容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49621003/