使用docker搭建redis主从
一、构建 Docker 环境
1、创建 dockerfile
FROM centos:latest
RUN groupadd -r redis && useradd -r -g redis redis
RUN yum -y update && yum -y install epel-release && yum -y install redis && yum -y install net-tools
EXPOSE 6379
2、构建镜像
docker build -t docker-test .
3、查看当前镜像
docker iamges
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-test latest ccebd30e466a 12 minutes ago 396MB
centos latest 470671670cac 7 weeks ago 237MB
4、查看docker默认的网络类型
docker network ls
NETWORK ID NAME DRIVER SCOPE
a43e79987e98 bridge bridge local
6b73067403dc host host local
b8ad4981e57e none null local
5、创建自定义网络类型
docker network create --subnet=172.10.0.0/16 haveyb-network
二、搭建 Redis 主从
1、创建 redis-master 容器
docker run -itd --name redis-master --net haveyb-network -p 6380:6379 --ip 172.10.0.2 docker-test
参数解释:
-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-d: 后台运行容器,并返回容器ID;
--name: 为创建的容器命名
--net: 指定网络模式(这里指定刚才创建的自定义网络模式)
-p: 端口映射,格式为:主机(宿主)端口:容器端口
--ip: 为容器制定一个固定的ip
后面再指定一下使用的镜像(这里使用的就是刚才创建的镜像 docker-test)
2、查看运行中的容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED
dc9344bbd25f docker-test "/bin/bash" 2 minutes agoSTATUS PORTS NAMES
Up 2 minutes 0.0.0.0:6380->6379/tcp redis-master
注:查看某个网络下容器的ip地址
docker network inspect haveyb-network
3、创建 redis-slave1、redis-slave2 容器
docker run -itd --name redis-slave1 --net haveyb-network -p 6381:6379 --ip 172.10.0.3 docker-testdocker run -itd --name redis-slave2 --net haveyb-network -p 6382:6379 --ip 172.10.0.4 docker-test
4、配置 redis-master 容器
(1)进入redis-master 容器
docker exec -it redis-master bash
注:退出容器 `exit`
(2)修改redis.conf 配置文件
vi /etc/redis.conf
(3)修改参数 bind 127.0.0.1 为 0.0.0.0
bind 0.0.0.0
(4)设置主redis 密码
requirepass YourPasswordSettings
(5)启动主redis
redis-server /etc/redis.conf &
(6)redis-cli
redis-cli
auth yourPasswordSettings
5、配置 redis-slave1
(1)进入redis-slave1 容器
docker exec -it redis-slave1 bash
(2)修改redis.conf 配置文件
vi /etc/redis.conf
(3)修改参数 bind 127.0.0.1 为 0.0.0.0
bind 0.0.0.0
(4)设置 masterauth,添加以下代码(主redis设置密码后,从redis连接需要此参数验权)
masterauth yourPasswordSettings
(5)设置 slaveof (设置主 redis 的 ip 和 port)
slaveof 172.10.0.2 6379
(5)启动从redis
redis-server /etc/redis.conf &
(6)redis 客户端
redis-cli
6、配置 redis-slave2
同配置 redis-slave1
7、在redis -cli中执行 `info replication` 可以查看主从信息
redis-master
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=172.10.0.3,port=6379,state=online,offset=3105,lag=1
slave1:ip=172.10.0.4,port=6379,state=online,offset=3105,lag=1
master_replid:a3a43b1957bc5b9f18cb3004301990085e49b0d1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3105
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3105
127.0.0.1:6379>
redis-slave1
127.0.0.1:6379> info replication
# Replication
role:slave
master_host:172.10.0.2
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:3203
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:a3a43b1957bc5b9f18cb3004301990085e49b0d1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:3203
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:3203
127.0.0.1:6379>
8、在 redis-master 中写入key,redis-slave1 和 redis-slave2 已经可以获取了
使用docker搭建redis主从相关推荐
- Docker搭建Redis主从模式
文章目录 Docker搭建Redis主从模式 Docker安装Redis 主从模式(简易模式) 特点 工作机制 搭建 redis-master节点 redis-slave-1节点 redis-slav ...
- Docker搭建Redis主从同步详细教程
文章目录 介绍: redis主从同步概念 redis主从同步原理 redis主从同步流程图 搭建redis主从详细步骤: 拉取redis镜像 创建所需文件夹,用于映射容器相应文件路径 运行容器指定挂载 ...
- 基于docker搭建redis哨兵模式
github学习笔记 Redis 哨兵架构 1. redis 哨兵模式介绍 1) 哨兵模式是Redis的高可用方式,哨兵节点是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点.2) ...
- docker+网桥+redis主从+哨兵模式
docker+网桥+redis主从+哨兵模式 我是在两台服务器上实验的,一台服务器的ip是192.168.213.144,另一台服务器的ip是192.168.213.145 1. 搭建网桥 关于第一部 ...
- docker搭建mysql主从
前言 为什么要使用Docker搭建? 不管是使用源码安装还是离线安装,在服务器上安装一个mysql总会花费不少的时间,而且对于新人来说,中间稍不注意哪一步出错了就导致安装失败,我之前也是安装过2次才成 ...
- docker搭建redis高可用集群
目标:docker搭建redis高可用集群 1.架构:六个redis容器,三主三从,主从复制,主机宕机从机自动替代 2.网络架构设计:设计一个专属redis的docker网络 docker netwo ...
- 使用docker搭建redis集群
使用docker搭建redis集群有两种,一种是单机多个docker容器,一种是多个机器的集群 基础知识 每个Redis集群中的节点都需要打开两个TCP连接.一个连接用于正常的给Client提供服务, ...
- 基于Docker搭建Redis集群(主从集群)
最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得之前写的这篇 <基于Docker的Redis集群搭建> 文章一定是有问题了,所以我花了几分钟浏览之前的文章总结了下面几 ...
- docker搭建Redis的主从集群
服务器:Centos7 前提:selinux关掉 一,安装docker并配置镜像加速(我用的阿里加速) [root@localhost ~]# yum -y install docker [root@ ...
最新文章
- 根据ip获取地理位置
- 【转载】adb shell dumpsys 查看内存
- java md5 密钥_java加密算法--MD5加密和哈希散列带秘钥加密算法源码
- 服务化改造实践(二)| Dubbo + Kubernetes
- 传智播客 import导入模块 学习笔记
- 你分得清楚Maven的聚合和继承吗?
- [转] 由Request Method:OPTIONS初窥CORS
- mysql多条件顺序_mysql顺序由多个条件
- Windows定时开机 命令 自动开机
- 全国计算机三级数据库技术
- 小萝贝控机大师工具推荐(一款在PC就能控制手机界面的工具)
- mp4 avc格式_sps_pps
- 推荐一个app,收纳杭州最全登山地图!附亲测过的亲子徒步路线推荐
- 计算机新生导论感言,新生入学感言范文精选
- 如何利用DTM预览功能来验证新版本的配置是否正确?
- Typora 一款非常简洁,非常适合程序员使用的markdown文档书写工具
- 数据库-内外连接及左右连接的区别
- logistic函数,sigma函数性质
- 少年五年升阿里 P8,他如何从低谷登上“光明顶”?
- 【图论最短路】【CQBZOJ 1633】【图论专项赛】位图
热门文章
- oracle 11g(二)安装过程
- 菜鸟修炼C语言小设计之——工资统计
- 调用带有 out 参数的方法时检查弃元参数
- .NET6之MiniAPI(十六):数据保护
- 真快!10秒内将k8s集群运行起来
- Azure data studio 跨平台数据库管理工具试用
- Blazor 中如何下载文件到浏览器
- 搭建一套ASP.NET Core+Nacos+Spring Cloud Gateway项目
- Blazor WebAssembly 3.2.0 已在塔架就位 将发射新一代前端SPA框架
- Beetlex之redis驱动