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

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

内容简介:前面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 官方公共云上了。


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

查看所有标签

猜你喜欢:

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

创业就是要细分垄断

创业就是要细分垄断

李开复、汪华、傅盛 / 文化发展出版社 / 2017-5-1 / CNY 45.00

对各方面资源极为有限的创业公司而言,想在激烈的市场竞争中站立下来的第一步是:成为细分市场的垄断者。不管是资本还是尖端人才,追逐的永远是行业里尖端的企业,第二名毫无意义。 首先,要精准定位潜在市场。这个市场的需求仍没有被满足,并且潜力巨大。其次,抓住时代和行业的红利,通过高速增长实现“小垄断”,抢滩登陆。最后,在细分领域里建立起自己的竞争壁垒,应对巨头和竞争对手的复制,去扩展更大的市场,从而扩......一起来看看 《创业就是要细分垄断》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具