先决条件
装置docker、docker-compose.

docker-compose.yml文件
version: '3'services:  redis-node01:    container_name: redis-node01    image: docker.io/redis:6.0.7-alpine    ports:      - "6378:6379"    volumes:      - /data/redis/data/master:/data      - /data/redis/config:/usr/local/etc/redis    networks:      - redis-network    restart: always    command: redis-server /usr/local/etc/redis/redis.conf --appendonly yes --appendfsync everysec    labels:      registory: 'office-registry'      editor: 'huyindu'  redis-node02:    container_name: redis-node02    image: docker.io/redis:6.0.7-alpine    ports:      - "6377:6379"    volumes:      - /data/redis/data/slave01:/data      - /data/redis/config:/usr/local/etc/redis    networks:      - redis-network    restart: always    command: redis-server /usr/local/etc/redis/redis.conf --appendonly yes --appendfsync everysec    labels:      registory: 'office-registry'      editor: 'huyindu'  redis-node03:    container_name: redis-node03    image: docker.io/redis:6.0.7-alpine    ports:      - "6376:6379"    volumes:      - /data/redis/data/slave02:/data      - /data/redis/config:/usr/local/etc/redis    networks:  - redis-network    restart: always    command: redis-server /usr/local/etc/redis/redis.conf --appendonly yes --appendfsync everysec    labels:      registory: 'office-registry'      editor: 'huyindu'networks:  redis-network:    driver: bridge
批改Redis配置文件

咱们先下载Redis的官网配置文件,下载地址:http://download.redis.io/redis-stable/redis.conf

批改局部配置
cluster-enabled yes #启用集群bind 0.0.0.0    #默认127.0.0.1只能本地拜访,改为0.0.0.0,所有主机都能拜访
通过docker-compose装置redis节点
在docker-compose.yml所在目录下执行如下命令:docker-compose up -d.执行后会运行三个redis节点,别离为redis-node01、redis-node02、redis-node03.
注:此时的三个redis节点是互相独立的,还不是集群。
将多个node节点组成集群

进入任意一个节点容器,执行一下命令,ip地址替换成你本身的节点IP,IP是生成的三个节点的容器外部IP,能够通过执行`docker
inspect docker容器id | grep Address`查看容器IP信息

redis-cli --cluster create 172.18.0.4:6379 172.18.0.3:6379 172.18.0.2:6379 -- cluster-replicas 0

在节点容器内输出redis-cli -c,查看集群信息cluster info,

cluster_state:ok  #<---如果此处为ok阐明集群创立胜利cluster_slots_assigned:16384cluster_slots_ok:16384cluster_slots_pfail:0cluster_slots_fail:0cluster_known_nodes:3cluster_size:3cluster_current_epoch:3cluster_my_epoch:1cluster_stats_messages_ping_sent:218cluster_stats_messages_pong_sent:217cluster_stats_messages_sent:435cluster_stats_messages_ping_received:215cluster_stats_messages_pong_received:218cluster_stats_messages_meet_received:2cluster_stats_messages_received:435

此时通过set设置key-value的时候,就会将key-value增加到3个不同的节点中去了,三个节点的总key数就是全量key,每个节点仅存储各自的key汇合,然而在集群不同节点都能够get到其余节点key的value值。