Docker部署redis 一主一从 简述
1、准备工作
docker环境准备,这个就不说了。
下载redis
docker pull redis:5.0.7
#下载好之后,查看镜像
docker images
#看是否下载成功
2、创建docker网络
因为涉及到redis通信,所以需要把主从都放在一个局域网中
docker create network redis-net
#查看创建网络情况
docker network ls
#查看网段内容
docker inspect redis-net容器ID
3、设置配置文件
从网上找到对应版本的conf配置文件
#绑定redis的地址 主和从分开给值即可,这里的ip是我本地redis-net的网段地址,根据实际情况编写即可
bind 172.18.0.3 127.0.0.1
#设置redis的端口,主给6379,从给6380 方便区分
port 6379
#保护模式 关闭
protected-mode no
#守护进程模式关闭 不然无法指定配置文件启动
daemonize no
#设置密码
masterauth 123456
#以下部分只在从节点操作!
#从节点设置 连接主节点的配置信息
replicaof 172.18.0.2 6379
masterauth 123456
4、docker启动命令
解释部分参数:
–network 指定网络
–ip 指定redis的ip,方便从节点连接,以后启动ip不会乱。
具体ip可以根据你一开始创建的redis-net去看,这个局域网的网段是哪部分
-v 挂载配置文件和数据,方便维护
#主节点
docker run -itd \
--name redis-6379 \
-p 6379:6379 \
--network apps_net \
--ip 172.18.0.2 \
-v /server/middleware/redisdatas/redis-master.conf:/etc/redis/redis.conf \
-v /server/middleware/redisdatas/master/datas:/data \
redis:5.0.7 redis-server /etc/redis/redis.conf
#从节点
docker run -itd \
--name redis-6380 \
--privileged=true \
-p 6380:6380 \
--network apps_net \
--ip 172.18.0.3 \
-v /server/middleware/redisdatas/redis-slave.conf:/etc/redis/redis.conf \
-v /server/middleware/redisdatas/slave/datas:/data \
redis:5.0.7 redis-server /etc/redis/redis.conf
#启动完毕后 查看redis是否正常
docker ps
#进入redis内部,查看主从情况
docker exec -it redis-6379 /bin/bash
#查看信息
info replication
#会看到slave情况
#退出容器
exit
5、总结
本次学习是一主一从,一般是一主三从的,作为学习可以适当减少,合理利用资源。
大家也可以借助DockerFile或者docker-compose编排操作,条条大路通罗马。
还可以完善一下,把log也挂在上,可以看到日志输出了。
总体来说,就是配置文件那部分的操作,需要对master和slave.conf进行配置,基本一样,salve多了
replicaof 172.18.0.2 6379
masterauth 123456
这两部分,因为要知道它的主是谁。
日志输出了。
总体来说,就是配置文件那部分的操作,需要对master和slave.conf进行配置,基本一样,salve多了
replicaof 172.18.0.2 6379
masterauth 123456
这两部分,因为要知道它的主是谁。
另外我把redis-master.conf和redis-slave.conf也上传了,大家有需要的可以下载使用。
https://download.csdn.net/download/qq_38653981/88849320