环境准备
准备三台服务器
192.168.241.138
192.168.241.139
192.168.241.140
安装doceker 文章链接:juejin.cn/post/684790…
Redis镜像拉取 三台服务器都要拉去Redis镜像
关于alpine操作系统的有点介绍下,-
- 小巧:基于Musl libc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB;
- 安全:面向安全的轻量发行版;
- 简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。
- 适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。
sudo docker pull redis:4.0.10-alpine
检测三台主机是否拉取成功
sudo docker images
三台主机创建存放redis.conf文件目录并拉去redis.conf配置文件,主要用于数据配置文件挂载即替换容器内的配置文件
启动三台redis
启动命令:sudo docker run --name redis -v /httx/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d -p 6379:6379 -p 26379:26379 redis
参数详解: docker:死记硬背。
run:启动容器固定写法
--name:自定义启动容器名称
-v 主机redis.conf 和redis容器做映射
-d 后台启动
-p 端口映射 6379是redis端口 26379是哨兵端口
redis:镜像名称
查看启动结果
sudo docker ps -a
进入三台主机redis容器内部
进入容器内部命令
# alpine操作系统
docker exec -it 容器id/容器名称 /bin/sh
# 其他操作系统
docker exec -it 容器id/容器名称 /bin/bash
进入内部可以对单个redis主机进行set值或get值
1、输入redis-cli(进入redis客户端)
2、set name xiaoyouyou(set存值)
3、get name (get取值)
4、查询三台主机的信息命令:info
可以看到当前三台主机都是master节点
Redis主从配置
设定主从信息如下:
192.168.241.138 master
192.168.241.139 slave
192.168.241.140 slave
1、进入139和140容器 命令 docker exec -it 容器id/容器名称 /bin/sh
2、输入redis-cli(进入redis客户端)
3、绑定主redis信息:SLAVEOF 主ip 主端口
例如:slaveof 192.168.241.138 6379
测试主从(从节点是没有写入权限的,只有读的权限)
进入138机器master节点
1、进入138容器命令 docker exec -it 容器id/容器名称 /bin/sh
2、输入redis-cli(进入redis客户端)
3、set name 111
4、进入139和140容器 命令 docker exec -it 容器id/容器名称 /bin/sh
5、输入redis-cli(进入redis客户端)
6、get name
搭建redis哨兵模式
1、进入三台redis容器:docker exec -it 容器id/容器名称 /bin/sh
2、进入容器根目录
3、创建哨兵配置文件:vim sentinel.conf(三台容器哨兵配置一模一样)
4. 输入:
#哨兵端口号 一定要和启动命令映射第二个端口号一致
port:26379
#后台启动
daemonize yes
sentinel monitor mymaster 主节点ip 主节点端口 2
举例:sentinel monitor mymaster 192.168.241.138 6379 2
5、依次三台在sentinel.conf 配置文件同一级目录执行:redis-sentinel sentinel.conf