tanger
发布于 2024-12-02 / 0 阅读 / 0 评论 / 0 点赞

docker简单部署redis cluster集群

简单部署3主3从cluster集群

使用docker-compose

version: '3'

services:
  redis-1:
    image: redis:7.4.1
    logging:
      driver: 'json-file'
      options:
        max-size: '128m'
    command: redis-server --appendonly yes --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --port 7001 --masterauth 123456 --requirepass 123456 --cluster-announce-ip 192.168.3.2 --cluster-announce-port 7001 --cluster-announce-bus-port 17001
    ports:
      - "7001:7001"
      - "17001:17001"

  redis-2:
    image: redis:7.4.1
    logging:
      driver: 'json-file'
      options:
        max-size: '128m'
    command: redis-server --appendonly yes --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --port 7002 --masterauth 123456 --requirepass 123456 --cluster-announce-ip 192.168.3.2 --cluster-announce-port 7002 --cluster-announce-bus-port 17002
    ports:
      - "7002:7002"
      - "17002:17002"

  redis-3:
    image: redis:7.4.1
    logging:
      driver: 'json-file'
      options:
        max-size: '128m'
    command: redis-server --appendonly yes --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --port 7003 --masterauth 123456 --requirepass 123456 --cluster-announce-ip 192.168.3.2 --cluster-announce-port 7003 --cluster-announce-bus-port 17003
    ports:
      - "7003:7003"
      - "17003:17003"

  redis-4:
    image: redis:7.4.1
    logging:
      driver: 'json-file'
      options:
        max-size: '128m'
    command: redis-server --appendonly yes --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --port 7004 --masterauth 123456 --requirepass 123456 --cluster-announce-ip 192.168.3.2 --cluster-announce-port 7004 --cluster-announce-bus-port 17004
    ports:
      - "7004:7004"
      - "17004:17004"

  redis-5:
    image: redis:7.4.1
    logging:
      driver: 'json-file'
      options:
        max-size: '128m'
    command: redis-server --appendonly yes --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --port 7005 --masterauth 123456 --requirepass 123456 --cluster-announce-ip 192.168.3.2 --cluster-announce-port 7005 --cluster-announce-bus-port 17005
    ports:
      - "7005:7005"
      - "17005:17005"

  redis-6:
    image: redis:7.4.1
    logging:
      driver: 'json-file'
      options:
        max-size: '128m'
    command: redis-server --appendonly yes --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --port 7006 --masterauth 123456 --requirepass 123456 --cluster-announce-ip 192.168.3.2 --cluster-announce-port 7006 --cluster-announce-bus-port 17006
    ports:
      - "7006:7006"
      - "17006:17006"

#redis-cli --cluster create redis-1:7001 redis-2:7002 redis-3:7003 redis-4:7004 redis-5:7005 redis-6:7006 --cluster-replicas 1 --pass 123456

说明:

cluster-announce-ip使用本机ip

masterauth,requirepass设置集群密码,设置为一样

启动命令:

docker-compose -f xxx.yml up -d

然后进入其中一个redis容器,执行

redis-cli --cluster create redis-1:7001 redis-2:7002 redis-3:7003 redis-4:7004 redis-5:7005 redis-6:7006 --cluster-replicas 1 --pass 123456


评论