docker - 重新启动Docker守护程序时如何在Docker服务内复制容器?

标签 docker percona-xtradb-cluster

我使用以下命令为镜像 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/

相关文章:

docker - 分别运行gitlab和gitlab-shell

linux - 在 Docker 容器中运行命令

scala - 您在哪里创建在 Docker 中运行的应用程序的应用程序日志?

Django channel 和 docker-compose 错误

mysql - Xtradb Cluster Percona 上的 MYSQL root 密码丢失,如何重置?

mysql - 缓冲区长度小于 mysql percona 集群中的预期有效负载长度

Mysql 5.6(Percona): How to Improve Query Performance of UPDATE and INSERT?

mysql - 在 percona xtradb 集群中重置 master

eclipse - 认证失败 : invalid password or missing SSH Key while import project in eclipse docker container

mysql - 在数据库集群前使用 proxysql 时是否有必要复制用户凭据?