重启后,群集节点无法重新加入docker swarm中的群集

时间:2016-12-29 15:49:52

标签: docker mariadb docker-compose docker-swarm docker-swarm-mode

以下是用于创建由2个服务 mariadb mariadbSlave 组成的MariaDB群集的yaml。当我第一次启动服务时,群集大小为3并且运行良好。虽然在手动停止运行 mariadb 服务的容器后,docker swarm会重新启动 mariadb 服务,并且它不再是群集的一部分。大小为1的新群集与大小为2的旧群集一起启动。如何使 mariadb 服务正常进行故障转移,以便在重新启动后群集大小为3? 从MariaDB集群的文档中,成员资格由cluster_name确定,并且它们在两个服务中都是相同的名称。 提前谢谢。

version: '2'
services:
    mariadb:
      restart: always
      deploy:
        replicas: 1
      image: ${DOCKER_REPOSITORY}hauptmedia/mariadb:10.1
      command:
        - "--wsrep-new-cluster"
      networks:
        - default_network
      volumes:
        - /mariadb/maria.cnf:/etc/mysql/conf.d/maria.cnf
      environment:
        - CLUSTER_ADDRESS=gcomm://
        - GALERA=On
        - REPLICATION_PASSWORD=test
        - NODE_NAME=masterNode
        - CLUSTER_NAME=cluster
        - MYSQL_ROOT_PASSWORD=test
        - MYSQL_DATABASE=test
        - MYSQL_USER=user
        - MYSQL_PASSWORD=test
    mariadbSlave:
      restart: always
      deploy:
        replicas: 2
      image: ${DOCKER_REPOSITORY}hauptmedia/mariadb:10.1
      networks:
        - default_network
      volumes:
        - /mariadb/maria.cnf:/etc/mysql/conf.d/maria.cnf
      environment:
        - CLUSTER_ADDRESS=gcomm://mariadb,mariadbSlave
        - GALERA=On
        - NODE_NAME=slaveNode
        - REPLICATION_PASSWORD=test
        - CLUSTER_NAME=cluster
        - MYSQL_ROOT_PASSWORD=test
        - MYSQL_DATABASE=test
        - MYSQL_USER=test

0 个答案:

没有答案