欢迎大家来到IT世界,在知识的湖畔探索吧!
1、创建【redis.conf】配置文件模板redis-cluster.tmpl
vim /usr/local/redis_docker/redis-cluster.tmpl
#设置外部网络连接redis服务,默认是yes,即开启。开启protected-mode保护模式,需配置bind ip或者设置访问密码,关闭protected-mode模式,此时外部网络可以直接访问
protected-mode no
#节点端口
port ${PORT}
#指定redis是否要用守护线程的方式启动,默认no
daemonize no
#持久化模式
appendonly yes
#cluster集群模式
cluster-enabled yes
#集群配置名
cluster-config-file nodes.conf
#超时时间
cluster-node-timeout 15000
#实际为各节点网卡分配ip
cluster-announce-ip 172.18.0.${TEMP}
#节点映射端口
cluster-announce-port ${PORT}
#节点总线端
cluster-announce-bus-port 1${PORT}
2、创建自定义网桥redis-net
docker network create redis-net
查看自定义网桥
docker network ls
3、创建Redis集群并启动6个实例
vim /usr/local/redis_docker/redisClusterDeploy.sh
#!/bin/bash
for port in `seq 7001 7006`; do base=6999 && ip=$[port-base] && mkdir -p ${port}/conf && PORT=${port} TEMP=${ip} envsubst < redis-cluster.tmpl > ${port}/conf/redis.conf && mkdir -p ${port}/data; done
for port in `seq 7001 7006`; do
docker run -p ${port}:${port} -p 1${port}:1${port} –name redis-${port} -v /usr/local/redis_docker/${port}/conf/redis.conf:/usr/local/redis/redis.conf -v /usr/local/redis_docker/${port}/data:/data –name redis-${port} –network redis-net -d redis_prod:6.0.5 redis-server /usr/local/redis/redis.conf
done
4、查看容器启动情况
sudo docker ps -a
5、查看容器日志
sudo docker logs -f [CONTAINER ID]
6、查看容器内网下关联的IP
sudo docker inspect 68eb833b4ff8 | grep IPAddress
7、创建redis-cluster集群
(1) 进入其中一个实例
docker exec -it redis-7001 bash
(2) 执行如下命令搭建集群
/usr/local/bin/redis-cli –cluster create 172.18.0.2:7001 172.18.0.3:7002 172.18.0.4:7003 172.18.0.5:7004 172.18.0.6:7005 172.18.0.7:7006 –cluster-replicas 1
8、测试
(1) 在127.18.0.2:7001中set key
docker exec -it redis-7001 /usr/local/bin/redis-cli -c -h 127.18.0.2 -p 7001
>set aaa 111
(2) 在172.18.0.3:7002中get key
docker exec -it redis-7002 /usr/local/bin/redis-cli -c -h 127.18.0.3 -p 7002
>get aaa
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/92853.html