Docker 安装 Redis与学习资料汇总

Docker 安装 Redis

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 <master-name> <password> # Sentinel 监控主节点的密码
#sentinel notification-script <master-name> <script-path> # 故障转移触发
#sentinel client-reconfig-script <master-name> <script-path> # 故障转移结束后触发
  • 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

更多资料

GitChat 专栏推荐

©️2020 CSDN 皮肤主题: 成长之路 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值