0

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

但是当我运行时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 集群?

4

1 回答 1

0

redis 集群文档

cluster-config-file :请注意,尽管有此选项的名称,但这不是用户可编辑的配置文件,而是 Redis Cluster 节点在每次发生更改时自动持久化集群配置(基本上是状态)的文件,为了能够在启动时重新读取它。

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

于 2018-05-08T15:47:34.113 回答