Docker 安装 Redis与学习资料汇总

Docker 安装 Redis

文章目录

  • Docker 安装 Redis
    • Docker 安装 Redis
      • 安装 Docker
      • 镜像加速
      • 下载镜像
      • 修改 Redis 配置
      • 创建并操作容器
    • 主从模式
      • 添加配置文件
      • 创建容器
      • 查看主 Redis IP 信息
      • 配置主从关系
    • Redis Sentinel 的高可用性-哨兵模式
      • 配置文件
      • 创建 sentinel 容器
      • 查看状态
    • 更多资料

Docker 安装 Redis

安装 Docker

镜像加速

参考阿里镜像中心

下载镜像

$ docker search redis # 查询镜像
$ docker pull redis # 拉取官方的镜像
$ docker images # 查看一下是否成功

修改 Redis 配置

  • 下载redis.conf,文件 从官网下载。

    $ wget http://download.redis.io/redis-stable/redis.conf
    
  • 修改配置

    • port 6379 # 端口默认为 6379
    • bind 127.0.0.1 #注释掉这部分,用来限制 redis 只能本地访问或者设置为 0.0.0.0
    • protected-mode no #默认 yes 表示开启保护模式
    • daemonize no # 或者注释掉 docker 运行不要设置后台运行与-d 有冲突会闪退
    • dir “/data” #输入本地redis数据库存放文件夹
    • dbfilename #默认 dump.rdb 修改 dump-端口.rdb

创建并操作容器

$ docker run  -itd -p 6379:6379 --name redis-master -v $PWD/redis-6379.conf:/data/redis-6379.conf -v $PWD:/data redis redis-server /data/redis-6379.conf
$ docker exec -it redis-master redis-cli -p 6379

主从模式

添加配置文件

$ cp redis-6379.conf redis-6380.conf 
$ vi redis-6380.conf # 修改端口以及dbfilename

创建容器

$ docker run -itd -p 6380:6380 --name redis-slave-0 -v $PWD/redis-6380.conf:/data/redis-6380.conf -v $PWD:/data redis redis-server /data/redis-6380.conf

查看主 Redis IP 信息

$ docker inspect redis-master | grep IPAddress

配置主从关系

$ docker exec -it redis-slave-0 redis-cli -p 6379
$ slaveof 主节点的ip(host) 主节点的端口(port) # slaveof 172.17.0.2 6379

主从模式支持:一主一从结构 一主多从结构 树状主从结构

Redis Sentinel 的高可用性-哨兵模式

配置文件

# redis-sentinel-26379.conf
port 26379 # Sentinel节点的端口
daemonize yes # 守护进程
logfile "26379.log" # 日志文件
dir /data # 工作目录
sentinel monitor mymaster 172.17.0.2 6379 2
sentinel down-after-milliseconds mymaster 30000 # 单位为毫秒
sentinel parallel-syncs mymaster 1 # parallel-syncs 就是用来限制在一次故障转移之后,每次向新的主节点发起复制操作的从节点个数
sentinel failover-timeout mymaster 180000 # 故障转移超时时间
#sentinel auth-pass   # Sentinel 监控主节点的密码
#sentinel notification-script   # 故障转移触发
#sentinel client-reconfig-script   # 故障转移结束后触发
  • Sentinel节点的默认端口是26379。

  • sentinel monitor mymaster 172.17.0.2 6379 2 配置代表 sentinel-1 节点需要监控172.17.0.2:6379 这个主节点,2 代表判断主节点失败至少需要 2 个Sentinel节点同意,mymaster是主节点的别名

详细的参数说明推荐参考 Redis开发与运维 的第9章 9.2.4 配置优化

创建 sentinel 容器

$ docker run  -itd -p 26379:26379 --name redis-sentinel-1 -v $PWD/redis-sentinel-26379.conf:/data/redis-sentinel-26379.conf -v $PWD:/data redis redis-sentinel /data/redis-sentinel-26379.conf

配置多个 redis-sentinel 依次启动。配置参数只是 port logfile 需要修改其他保持不变即可

$ docker run  -itd -p 26380:26380 --name redis-sentinel-2 -v $PWD/redis-sentinel-26380.conf:/data/redis-sentinel-26380.conf -v $PWD:/data redis redis-sentinel /data/redis-sentinel-26380.conf

查看状态

$ docker exec -it redis-sentinel-1 redis-cli  -p 26380 info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=172.17.0.2:6379,slaves=2,sentinels=3

更多资料

  • springboot+redis分布式锁-模拟抢单
  • Redis 面试答疑
  • 深入剖析Redis系列(一) - Redis入门简介与主从搭建
  • 深入剖析Redis系列(二) - Redis哨兵模式与高可用集群
  • 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解
  • 深入剖析Redis系列(四) - Redis数据结构与全局命令概述
  • 深入剖析Redis系列(五) - Redis数据结构之字符串
  • 深入剖析Redis系列(六) - Redis数据结构之哈希
  • 深入剖析Redis系列(七) - Redis数据结构之列表
  • 深入剖析Redis系列(八) - Redis数据结构之集合

Docker 安装 Redis与学习资料汇总_第1张图片

你可能感兴趣的:(Docker)