具有Docker Swarm模式的Redis群集

时间:2017-10-24 15:55:41

标签: docker docker-compose docker-swarm redis-cluster

我是Docker swarm的新手。我试图使用compose文件在Docker swarm上部署redis集群。我希望redis集群使用端口6380,所以我配置了端口并使其在compose文件中挂载redis配置文件。

但是当我运行docker stack deploy --compose-file docker-compose.yml node时,我得到一个错误状态:“抱歉,群集配置文件redis-node.conf已经被其他Redis群集节点使用。请确保不同的节点使用不同的群集配置文件。“

这是我的docker-compose.yml

version: "3"

services:

  redis-node:
    image: redis:3.2
    ports:
      - 6380
    deploy:
      replicas: 6
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
    volumes:
      - /var/docker/redis/node:/data
    command:
      redis-server --port 6380 --logfile redis-node.log --appendonly yes --appendfilename redis-node.aof --appendfsync everysec --cluster-enabled yes --cluster-config-file redis-node.conf
    restart: always

如何在Docker swarm模式下部署使用redis.conf安装的redis群集?

1 个答案:

答案 0 :(得分:0)

来自redis cluster docs

  

cluster-config-file:请注意,尽管此选项的名称不是用户可编辑的配置文件,但是每次有Redis群集节点自动保持群集配置(基本上是状态)的文件改变,以便能够在启动时重新阅读。

您是否正在共享群集中保存的卷?这似乎是个问题。