(全栈学习实践)四、docker搭建redis主从实践

栏目: 数据库 · 发布时间: 6年前

内容简介:前面mysql容器重建后需要重新运行 change master to 命令绑定关联,8.0需要命令行下生效。redis首先想到用官方的,没想到进去各个基本shell命令无法使用,所以先弃了。这次由于搜索修改

前面 mysql 容器重建后需要重新运行 change master to 命令绑定关联,8.0需要命令行下生效。

redis首先想到用官方的,没想到进去各个基本 shell 命令无法使用,所以先弃了。这次由于 官方 没有提供基本的配置文件,解压redis-5.0.5.tar.gz复制 主配置redis.conf、哨兵配置sentinel.conf 到当前目录,如:/root/tmp/dk/redis。

1、制作配置文件

搜索修改

# master服务器 redis.conf:
- # requirepass foobared
+ requirepass 123456
- dir ./             # 持久化数据目录
+ dir /data
- appendonly no      # 开启aof
+ appendonly yes
- bind 127.0.0.1     # 允许外网ip访问
+ bind 0.0.0.0

// 从服务器:主+额外 redis.conf:
// remote_host:自己的内网、外网地址
- # replicaof <masterip> <masterport>  
+ replicaof remote_host 6379
- # masterauth <master-password>
+ masterauth 123456

2、启动容器

# 创建容器运行
[]:~/tmp/dk/redis# docker run --name rm \
    -p 6379:6379 --restart=always -v \
    /root/tmp/dk/redis/data:/data -v \
    /root/tmp/dk/redis/redis.conf:/etc/redis/redis.conf \
    -d cffycls/redis5:1.6 redis-server /etc/redis/redis.conf
[]:~/tmp/dk/redis# docker run --name rs \
    -p 6381:6379 --restart=always -v \
    /root/tmp/dk/redis_slave/data:/data -v \
    /root/tmp/dk/redis_slave/redis.conf:/etc/redis/redis.conf \
    -d cffycls/redis5:1.6 redis-server /etc/redis/redis.conf

镜像是 redis 5.0.5编译的,直接启动后就是主从同步的,不需要向mysql一样进行配置(这里起始数据不一致时:修改到当前最终配置,重启即同步完好)。直接同步成功,在master、slave查看关系 info replication均有对方信息。

3、其他情况

a.百度replicaof

"master-slave 架构的描述改为 master-replica,SLAVEOF 提供别名 REPLICAOF,所以仍然可以使用 SLAVEOF"。

b.是否要守护进程

这里是经过多次测试,发现:容器重启,redis也会正常启动。daemonize no 注意保持是 no,否则会报错:

Error response from daemon: Container xx is restarting, wait until the container is running

可知容器内的守护进程与 docker 本身有冲突,保持默认的 daemonize no 正常,不要先入为主的修改参数,考虑与主机安装的不同。

c.bind地址是否要修改

已经设置过密码,所以protected-mode保持默认值。

  • protected-mode yes #关闭保护模式,使外网能访问
  • protected-mode no #开启protected-mode保护模式,需配置bind ip或者设置访问密码

这里是经过多次修改配置重启测试,得知master-slave:127.0.0.1-127.0.0.1可以访问,但单主从关系没有建立;0.0.0.0-127.0.0.1正常,反正是推荐0.0.0.0-0.0.0.0。

同mysql一样,需要重启加载配置的,使用 docker restart rm rs 重启方式。哨兵的配置于此类似,略过。

这里基于之前redis的Dockerfile修改完善,推送到 cffycls/redis5:1.6 官方公共云上了。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux设备驱动程序

Linux设备驱动程序

科波特 / 魏永明、耿岳、钟书毅 / 中国电力出版社 / 2006-1-1 / 69.00元

本书是经典著作《Linux设备驱动程序》的第三版。如果您希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。 本书的作者均是Linux社区的领导者。Jonathan Corbet虽不是专职的内核......一起来看看 《Linux设备驱动程序》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具