mkdir -p /home/redis-data/node1
mkdir -p /home/redis-data/node2
mkdir -p /home/redis-data/node3
chmod 777 /home/redis-data/node3
chmod 777 /home/redis-data/node2
chmod 777 /home/redis-data/node1
编写节点一
vi /home/redis-data/node1/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.0.103
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
protected-mode no
save 60 10000
save 300 10
save 900 1
stop-writes-on-bgsave-error no
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
# 数据文件存放目录,rdb快照文件和aof文件都会存放至该目录,请确保有写权限
dir ./
节点2和节点3的配置都一样
vi /home/redis-data/node2/redis.conf
vi /home/redis-data/node3/redis.conf
port 6380
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.0.103
cluster-announce-port 6380
cluster-announce-bus-port 16380
appendonly yes
protected-mode no
docker run --restart always --name redis-node1 --net host --privileged=true -v /home/redis-data/node1/redis.conf:/etc/redis/redis.conf -v /home/redis-data/node1:/data -d redis redis-server /etc/redis/redis.conf
docker run --restart always --name redis-node2 --net host --privileged=true -v /home/redis-data/node2/redis.conf:/etc/redis/redis.conf -v /home/redis-data/node2:/data -d redis redis-server /etc/redis/redis.conf
docker run --restart always --name redis-node3 --net host --privileged=true -v /home/redis-data/node3/redis.conf:/etc/redis/redis.conf -v /home/redis-data/node3:/data -d redis redis-server /etc/redis/redis.conf
进入主节点容器,组建集群
docker exec -it redis-node1 /bin/bash
redis-cli --cluster create 192.168.0.103:6379 192.168.0.103:6380 192.168.0.103:6381 --cluster-replicas 0
注意: redis 必须使用 host 的网络模式,否则在本机无法连接查看,容器也可能连接不到。
网友评论