本篇文章为大家展示了docker中怎么搭建redis集群,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
1、创建虚拟网卡
docker network create redis-net
3、查看网卡信息
docker network ls
4、查看redis-net虚拟网卡网关ip
docker network inspect redis-net | grep "Gateway" | grep --color=auto -P '(\d{1,3}.){3}\d{1,3}' -o
5、创建需要挂载的目录以及文件
#创建集群挂载目录
mkdir -p /docker/redis
#创建 集群配置文文件模板
touch /docker/redis/redis-cluster.conf
#编辑配置文件模板内容
port ${PORT}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.100.101
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
appendonly yes
6、在/docker/redis目录下创建一个sh脚本文件
touch create_conf.sh
编辑脚本内容为:
#!/bin/bash
for port in `seq 6001 6006`; do
mkdir -p ./${port}/conf && PORT=${port} envsubst < ./redis-cluster.conf > ./${port}/conf/redis.conf && mkdir -p ./${port}/data;done
授权可执行 chmod -R 777 create_conf.sh
7、执行脚本创建挂载目录以及配置文件
./create_conf.sh
8、编辑启动容器脚本(启动6个容器)
touch create_redis_docker.sh
编辑内容为
#!/bin/bash
for port in `seq 6001 6006`; do
docker run -d -ti -p ${port}:${port} -p 1${port}:1${port} -v /docker/redis/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /docker/redis/${port}/data:/data --restart always --name redis-${port} --net redis-net --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf;
done
授权 chmod -R 777 create_redis_docker.sh
9、执行创建容器的脚本
./create_redis_docker.sh
10、查看创建的容器的ip
docker inspect redis-6001 redis-6002 redis-6003 redis-6004 redis-6005 redis-6006 | grep IPAddress
11、进入6001端口容器
docker exec -it redis-6001 bash
12、在容器中执行集群命令
/usr/local/bin/redis-cli --cluster create 172.18.0.2:6001 172.18.0.3:6002 172.18.0.4:6003 172.18.0.5:6004 172.18.0.6:6005 172.18.0.7:6006 --cluster-replicas 1
下载redis.conf
cd /docker/redis/
wget http://download.redis.io/redis-stable/redis.conf
上述内容就是docker中怎么搭建redis集群,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/shxjinchao/blog/3082979