Кластер Redis с режимом Docker Swarm

Я новичок в Docker Swarm. Я пытался развернуть кластер Redis в рое Docker с файлом компоновки. Я хочу, чтобы кластер Redis использовал порт 6380, поэтому я настроил порт и заставил его смонтировать файл конфигурации 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

Как я могу развернуть кластер redis, смонтированный с помощью redis.conf, в режиме роя Docker?


person 张云帆    schedule 24.10.2017    source источник
comment
Эй, ты решил эту проблему?   -  person Marcel Dias    schedule 09.02.2018


Ответы (1)


Из документов по кластеру Redis:

cluster-config-file : обратите внимание, что, несмотря на название этой опции, это не редактируемый пользователем файл конфигурации, а файл, в котором узел кластера Redis автоматически сохраняет конфигурацию кластера (в основном состояние) каждый раз, когда происходит изменение. для того, чтобы иметь возможность перечитать его при запуске.

Вы делитесь томом, где это сохранено, в кластере? Казалось бы, проблема в этом.

person sas    schedule 08.05.2018