下载镜像文件
docker pull redis
创建实例并启动
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
集群
部署cluster,创建6个redis节点
for port in $(seq 7001 7006); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >/mydata/redis/node-${port}/conf/redis.conf
port ${port}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.182.130
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
appendonly yes
EOF
docker run -p ${port}:${port} -p 1${port}:1${port} --name redis-${port} \
-v /mydata/redis/node-${port}/data:/data \
-v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d redis:5.0.7 redis-server /etc/redis/redis.conf; \
done
使用redis建立集群
#进入容器
docker exec -it redis-7001 bash
#建立集群
redis-cli --cluster create 192.168.182.130:7001 192.168.182.130:7002 192.168.182.130:7003 192.168.182.130:7004 192.168.182.130:7005 192.168.182.130:7006 --cluster-replicas 1
出现:
[OK] All nodes agree about slots configuration.
Check for open slots…
Check slots coverage…
[OK] All 16384 slots covered.
集群搭建完成
记录集群主从端口映射如:
Adding replica 192.168.182.130:7005 to 192.168.182.130:7001
Adding replica 192.168.182.130:7006 to 192.168.182.130:7002
Adding replica 192.168.182.130:7004 to 192.168.182.130:7003
M: 6485c7a12f2ec9364a069a63ca1e2d275f7b979c 192.168.182.130:7001
slots:[0-5460] (5461 slots) master
1 additional replica(s)
S: 3aab1645fefb1421de4195d4503e9ca43cb7b237 192.168.182.130:7005
slots: (0 slots) slave
replicates d1790cfe7d5ceaa51d7d0e6169f7799b82a6df8a
M: d1790cfe7d5ceaa51d7d0e6169f7799b82a6df8a 192.168.182.130:7003
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
M: 898784b140c7a32e60836839a7c2e82bbae3cd83 192.168.182.130:7002
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: ba4006b76f87dd3915c6c0e79c5edf0f7682ed0d 192.168.182.130:7006
slots: (0 slots) slave
replicates 6485c7a12f2ec9364a069a63ca1e2d275f7b979c
S: 1557b78bff9e001320fd747a3c67e0bc8d5d16dd 192.168.182.130:7004
slots: (0 slots) slave
replicates 898784b140c7a32e60836839a7c2e82bbae3cd83
在redisdesktop中测试即可