使用docker搭建redis集群
Posted shuhan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用docker搭建redis集群相关的知识,希望对你有一定的参考价值。
基于容器ip搭建
拉取镜像
docker pull redis:5.0.5
创建3个redis容器
docker create --name redis-node1 -v d/dataproject/redis/redis-cluster/node1:/data -p 6379:6379 redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-1.conf
docker create --name redis-node2 -v d/dataproject/redis/redis-cluster/node2:/data -p 6380:6379 redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-2.conf
docker create --name redis-node3 -v d/dataproject/redis/redis-cluster/node3:/data -p 6381:6379 redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-3.conf
--cluster-enabled yes 表示开启集群
--cluster-config-file filename 表示生成配置文件
使用docker inspect查看容器ip
docker inspect redis-node1
#172.17.0.2-node1
docker inspect redis-node2
#172.17.0.3-node2
docker inspect redis-node3
#172.17.0.4-node3
拿到 ip 信息后(每个人的ip信息可能不一样),接下来进入某一个容器进行组建集群:
这里以进入 node1 为例
docker exec -it redis-node1 /bin/bash
接着执行组建集群命令(请根据自己的ip信息进行拼接)
redis-cli --cluster create 172.17.0.2:6379 172.17.0.3:6379 172.17.0.4:6379 --cluster-replicas 0
基于host模式搭建
docker create --name redis-node1 --net host -v d/dataproject/redis/redis-cluster/node1:/data redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-1.conf --port 6379
docker create --name redis-node2 --net host -v d/dataproject/redis/redis-cluster/node2:/data redis:5.0.5 --cluster-enabled yes --cluster-config-file nodes-node-2.conf --port 6380
docker create --name redis-node3 --net host -v d/dataproject/redis/redis-cluster/node3:/data redis:5.0. --cluster-enabled yes --cluster-config-file nodes-node-3.conf --port 6381
跟之前创建命令不同,一是指定了 --net
网络类型为 host
,二是这种情况下就不需要端口映射了,比如 -p 6379:6379
,因为此时需要对外共享容器端口服务,所以只需要指定对外暴露的端口 -p 6379
、-p 6380
等
启动容器并搭建集群
启动命令
docker start redis-node1 redis-node2 redis-node3
进入某一个容器
docker exec -it redis-node1 /bin/bash
# 组建集群,192.168.29.194为当前物理机的ip地址
# 可能物理ip无法达成,可以试一试127.0.0.1
redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 --cluster-replicas 0
参考文档:https://www.cnblogs.com/niceyoo/p/13011626.html
以上是关于使用docker搭建redis集群的主要内容,如果未能解决你的问题,请参考以下文章