美文网首页
Docker容器下的redis主从配置部署全过程

Docker容器下的redis主从配置部署全过程

作者: G_YDG | 来源:发表于2019-10-11 20:03 被阅读0次

Dockerfile:

FROM alpine

RUN sed-i's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \

&& apk add  gcc g++ libc-dev  wget vim  openssl-dev make  linux-headers \

&& rm-rf/var/cache/apk/*

#通过选择更小的镜像,删除不必要文件清理不必要的安装缓存,从而瘦身镜像

#创建相关目录能够看到日志信息跟数据跟配置文件

RUN mkdir-p/usr/src/redis \

&& mkdir-p/usr/src/redis/data \

&& mkdir-p/usr/src/redis/conf \

&& mkdir-p/usr/src/redis/log  \

&& mkdir-p/var/log/redis

RUN wget-O/usr/src/redis/redis-4.0.11.tar.gz"http://download.redis.io/releases/redis-4.0.11.tar.gz" \

&& tar-xzf/usr/src/redis/redis-4.0.11.tar.gz-C/usr/src/redis \

&& rm-rf/usr/src/redis/redis-4.0.11.tar.tgz

RUN cd/usr/src/redis/redis-4.0.11 &&  make&& make PREFIX=/usr/local/redis install \

&& ln-s/usr/local/redis/bin/*  /usr/local/bin/  && rm-rf/usr/src/redis/redis-4.0.11

#COPY ./conf/redis.conf  /usr/src/redis/conf

CMD ["/usr/local/bin/redis-server","/usr/src/redis/conf/redis.conf"]

构建镜像

docker build -t redis-ms-test .

设置指定网络

docker network create --subnet=192.168.1.0/24 redis-network

运行主从容器

docker run -itd -v /usr/docker/test/03/redis/master:/usr/src/redis -p 6380:6379 --network=redis-network --ip=192.168.1.2 --name redis-master redis-ms-test

docker run -itd -v /usr/docker/test/03/redis/slave:/usr/src/redis -p 6380:6379 --network=redis-network --ip=192.168.1.2 --name redis-slave redis-ms-test

进入容器

docker exec -it redis-master sh  ||   docker exec -it redis-slave sh

测试redis服务是否可用

redis-cli -a 123456

开启主从复制

127.0.0.1:6379 > slaveof 主机ip 端口号

查看信息

127.0.0.1:6379 > info replication

若想查看主从设置是否生效,可在主机添加数据,再从从机查询,若查询得到,则证明设置成功。

tips:

(1)如若未生效,请查看防火墙是否开放相对应端口。若为云服务器,则查看是否添加相对应网络安全组信息

(2)默认配置中,从节点不可写入,只可读取。若需要从节点可进行写入可修改 slave-read-only 为 no

(3)开启主从复制的3种方式,

如若主机有设置密码需修改配置文件下的masterauth :

# masterauth <master-password>  //设置主机密码

查看日志文件

查看配置信息下的日志存放路径(logfile)

例:logfile "/usr/src/redis/log/redis.log"

       cat /usr/src/redis/log/redis.log

在日志记录中,可以大概看到主从复制的过程。

关于redis的全量复制与部分复制,可参考文章:https://www.jianshu.com/p/0e1ff8ea22bc

关于redis主从复制的原理以及过程,可参考文章:https://segmentfault.com/a/1190000018268350

相关文章

网友评论

      本文标题:Docker容器下的redis主从配置部署全过程

      本文链接:https://www.haomeiwen.com/subject/fgiductx.html