使用docker搭建redis服务

本文介绍如何使用Docker快速搭建Redis单机及集群服务。包括下载镜像、创建分卷与容器、启动容器等步骤,并提供了集群配置和状态检查的具体命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用docker搭建redis单机服务

首先使用docker search XXX(XXX为需要下载的镜像)
在这里插入图片描述
其次使用docker pull redis:5.0.2 命令下载该镜像

最后使用 docker images redis 查看刚才拉取的镜像
在这里插入图片描述
创建一个分卷与容器

  • docker volume create redis-node01 //创建分卷
  • docker create --name redis-node01 --net host -v redis-node01:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-01.conf --port 6379(创建容器)
  • docker start redis-node01 //启动一个容器

查看容器启动状态
docker ps
在这里插入图片描述

使用redis镜像执行redis-cli进入刚才的容器

 docker exec -it 43f5e785cca9 redis-cli -c -h 10.212.130.5 -p 6379
 docker exec -i -t  43f5e785cca9 /bin/bash  //借用docker进入容器内部

在这里插入图片描述

使用docker镜像搭建集群服务

docker volume create redis-node01
docker volume create redis-node02
docker volume create redis-node03
docker volume create redis-node04
docker volume create redis-node05
docker volume create redis-node06
#创建容器
docker create --name redis-node01 --net host -v redis-node01:/data redis:5.0.2 --
cluster-enabled yes --cluster-config-file nodes-node-01.conf --port 6379
docker create --name redis-node02 --net host -v redis-node02:/data redis:5.0.2 --
cluster-enabled yes --cluster-config-file nodes-node-02.conf --port 6380
docker create --name redis-node03 --net host -v redis-node03:/data redis:5.0.2 --
cluster-enabled yes --cluster-config-file nodes-node-03.conf --port 6381
docker create --name redis-node04 --net host -v redis-node04:/data redis:5.0.2 --
cluster-enabled yes --cluster-config-file nodes-node-03.conf --port 16379
docker create --name redis-node05 --net host -v redis-node05:/data redis:5.0.2 --
cluster-enabled yes --cluster-config-file nodes-node-03.conf --port 16380
docker create --name redis-node06 --net host -v redis-node06:/data redis:5.0.2 --
cluster-enabled yes --cluster-config-file nodes-node-03.conf --port 16381
#启动容器
docker start redis-node01 redis-node02 redis-node03 redis-node04 redis-node05 redisnode06
#进入redis-node01容器进行操作
docker exec -it redis-node01 /bin/bash
#192.168.1.18192.168.1.19是主机的ip地址
redis-cli --cluster create 192.168.1.18:6379 192.168.1.18:6380 192.168.1.18:6381
192.168.1.19:16379 192.168.1.19:16380 192.168.1.19:16381 --cluster-replicas 1

查看redis集群的状态

//1.先连接进入docker创建的容器中,并连接redis节点
docker exec -it 容器ID /bin/bash
//2.连接集群中任意一个redis节点
redis-cli -h 10.212.130.5 -p 6379 
//查看集群状态
cluster info
root@ppp_m_db:/data# redis-cli -h 10.212.130.5 -p 6379
10.212.130.5:6379> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:3
cluster_size:3
cluster_current_epoch:3
cluster_my_epoch:1
cluster_stats_messages_ping_sent:38
cluster_stats_messages_pong_sent:44
cluster_stats_messages_sent:82
cluster_stats_messages_ping_received:42
cluster_stats_messages_pong_received:38
cluster_stats_messages_meet_received:2
cluster_stats_messages_received:82
//查看集群各节点的状态,redis中的槽点用于存储数据,总共有0-16383,总共有16384个槽点,下面节点状态中@16380为内部通讯接口,是外露接口+10000组成
cluster nodes
22af0a3e12e91b35474b4f588e0c9c16d82fe1fb 10.212.130.5:6380@16380 master - 0 1567588386890 2 connected 5461-10922
93d77c91ffdb3ff672e4ef3128bc703b8c8409e4 10.212.130.5:6381@16381 master - 0 1567588387892 3 connected 10923-16383
152456aa106a26729089cb813554505b079039d9 10.212.130.5:6379@16379 myself,master - 0 1567588387000 1 connected 0-5460

集群意外宕机-如断电重新恢复时故障排查

//1.首先使用redis-cli --cluster check命令检查各个节点的错误信息
redis-cli --cluster 10.212.130.5:6379
//2.若出现槽点丢失现象,则将丢失的槽点强制指向正常master节点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值