Redis Cluster快速搭建


由於使用官方的redis鏡像在搭建起來容器之后還需要使用命令對啟動的多個容器建立主從關系, 從docker hub上發現了bitnami/redis-cluster這個神奇的鏡像.

根據bitnami/redis-cluster官方文檔上提供的模板, 創建的集群無法供docker外部調用. 通過提供的參數最終將端口成功映射了出來供外部使用;

version: "2"

services:
  redis-node-0:
    image: docker.io/bitnami/redis-cluster:6.2
    ports:
      - 7001:7001 # redis連接用端口
      - 17001:17001 # redis之間消息連接的端口 默認是redis連接端口+10000
    restart: always
    environment:
      - 'REDIS_CLUSTER_ANNOUNCE_IP=192.168.10.248' # 當前redis使用的靜態IP(為了開放出來供外部使用這里寫宿主機IP)
      - 'REDIS_PORT_NUMBER=7001' # 替換原始6379端口
      - 'REDIS_CLUSTER_DYNAMIC_IPS=no' # 標明不使用動態IP
      - 'ALLOW_EMPTY_PASSWORD=yes'
      - 'REDIS_NODES=192.168.10.248:7001 192.168.10.248:7002 192.168.10.248:7003 192.168.10.248:7004 192.168.10.248:7005 192.168.10.248:7006'

  redis-node-1:
    image: docker.io/bitnami/redis-cluster:6.2
    ports:
      - 7002:7002
      - 17002:17002
    restart: always
    environment:
      - 'REDIS_CLUSTER_ANNOUNCE_IP=192.168.10.248'
      - 'REDIS_PORT_NUMBER=7002'
      - 'REDIS_CLUSTER_DYNAMIC_IPS=no'
      - 'ALLOW_EMPTY_PASSWORD=yes'
      - 'REDIS_NODES=192.168.10.248:7001 192.168.10.248:7002 192.168.10.248:7003 192.168.10.248:7004 192.168.10.248:7005 192.168.10.248:7006'

  redis-node-2:
    image: docker.io/bitnami/redis-cluster:6.2
    ports:
      - 7003:7003
      - 17003:17003
    restart: always
    environment:
      - 'ALLOW_EMPTY_PASSWORD=yes'
      - 'REDIS_CLUSTER_ANNOUNCE_IP=192.168.10.248'
      - 'REDIS_CLUSTER_DYNAMIC_IPS=no'
      - 'REDIS_PORT_NUMBER=7003'
      - 'REDIS_NODES=192.168.10.248:7001 192.168.10.248:7002 192.168.10.248:7003 192.168.10.248:7004 192.168.10.248:7005 192.168.10.248:7006'

  redis-node-3:
    image: docker.io/bitnami/redis-cluster:6.2
    ports:
      - 7004:7004
      - 17004:17004
    restart: always
    environment:
      - 'ALLOW_EMPTY_PASSWORD=yes'
      - 'REDIS_CLUSTER_ANNOUNCE_IP=192.168.10.248'
      - 'REDIS_CLUSTER_DYNAMIC_IPS=no'
      - 'REDIS_PORT_NUMBER=7004'
      - 'REDIS_NODES=192.168.10.248:7001 192.168.10.248:7002 192.168.10.248:7003 192.168.10.248:7004 192.168.10.248:7005 192.168.10.248:7006'

  redis-node-4:
    image: docker.io/bitnami/redis-cluster:6.2
    ports:
      - 7005:7005
      - 17005:17005
    restart: always
    environment:
      - 'ALLOW_EMPTY_PASSWORD=yes'
      - 'REDIS_CLUSTER_ANNOUNCE_IP=192.168.10.248'
      - 'REDIS_CLUSTER_DYNAMIC_IPS=no'
      - 'REDIS_PORT_NUMBER=7005'
      - 'REDIS_NODES=192.168.10.248:7001 192.168.10.248:7002 192.168.10.248:7003 192.168.10.248:7004 192.168.10.248:7005 192.168.10.248:7006'

  redis-node-5:
    image: docker.io/bitnami/redis-cluster:6.2
    ports:
      - 7006:7006
      - 17006:17006
    restart: always
    depends_on:
      - redis-node-0
      - redis-node-1
      - redis-node-2
      - redis-node-3
      - redis-node-4
    environment:
      - 'ALLOW_EMPTY_PASSWORD=yes'
      - 'REDIS_CLUSTER_ANNOUNCE_IP=192.168.10.248'
      - 'REDIS_CLUSTER_DYNAMIC_IPS=no'
      - 'REDIS_PORT_NUMBER=7006'
      - 'REDIS_CLUSTER_REPLICAS=1'
      - 'REDIS_NODES=192.168.10.248:7001 192.168.10.248:7002 192.168.10.248:7003 192.168.10.248:7004 192.168.10.248:7005 192.168.10.248:7006'
      - 'REDIS_CLUSTER_CREATOR=yes'



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM