还用单机版?教你用Docker+Redis搭建主从复制多实例
以下文章来源于爱笑的架构师, 作者雷架
从华中科技大学硕士毕业 , 几年间浪迹于多个一线互联网大厂 , 具有多年开发实战经验 。 如果你热爱技术或者你不满足现状喜欢搞事情 , 那你不妨关注我 , 让我们一路同行 , 一起分享技术干货、交流面试技巧、吐槽职场故事 。 我有故事和酒 , 你来吗?
文章插图
0. 目标本地搭建三个redis实例(一主两备) , 实现效果:主实例插入数据备实例可以复制同步过去 。
1. 安装和运行dockerdocker安装步骤省略 , 大家可以从官网下载并安装 。
检查docker是否运行成功:
docker info
文章插图
出现回显表示运行成功 , 可以做下一步操作了 。
2. 拉取redis镜像文件执行以下命令默认拉取tag为latest的官方redis镜像
docker pull redis
文章插图
3. 准备好redis配置文件redis.conf下载链接:
密码:q3uk
拷贝为3三份 , 如:redis01.conf, redis02.conf, redis03.conf
打开所有的配置文件 , 修改如下配置项:
- 注释只监听本地选项 , 可以远程连接 。 #bind 127.0.0.1
- 关闭保护模式 protected-mode no
- 打开AOF持久化开关 appendonly yes
# 实例1docker run -p 6381:6379 --name redis-server-01 -v /your/path/redis/conf/redis01.conf:/etc/redis/redis.conf -v /your/path/redis/data01:/data -d redis redis-server /etc/redis/redis.conf# 实例2docker run -p 6382:6379 --name redis-server-02 -v /your/path/redis/redis/conf/redis02.conf:/etc/redis/redis.conf -v /your/path/redis/data02:/data -d redis redis-server /etc/redis/redis.conf# 实例3docker run -p 6383:6379 --name redis-server-03 -v /your/path/redis/conf/redis03.conf:/etc/redis/redis.conf -v /your/path/redis/data03:/data -d redis redis-server /etc/redis/redis.conf
文章插图
对以上命令简单解释:
- 参数-p 6381:6379 , 6381表示宿主机端口 , 6379表示容器实例端口 , 意思是将容器实例端口映射到宿主机端口 。
- 参数--name redis-server-01 , 给容器实例命名 。
- 参数-v /your/path/redis/conf/redis01.conf:/etc/redis/redis.conf , 冒号前是宿主机配置文件路径 , 冒号后是容器的配置文件路径 , 意思是将容器实例的配置路径映射到宿主机的路径 。
- 参数-v /your/path/redis/data01:/data , 如上面意思相同 。
- 选项-d表示以后台形式运行实例 。
- 参数redis-server /etc/redis/redis.conf表示执行redis-server命令 ,/etc/redis/redis.conf表示以该配置文件启动redis实例 , 注意配置文件必须为redis-server命令的第一个参数 。
docker ps
文章插图
回显有三个redis实例即为正常 。 查询实例1:redis-server-01 运行的内部ip
docker inspect redis-server-01
文章插图
推荐阅读
- 教你用Siri来控制电脑:真香
- 虾米|虾米音乐宣布2月5日关停 你用过虾米音乐吗?
- 怎样提高苹果6的运行速度?有这些问题就别救了,你用了几年了?
- 华为还用美国技术?日媒曝光华为5G基站,拆解出大量美国零件
- 教你用手机把自己的照片制作成音乐视频,模板多,操作又简单
- 来源|外媒评选2020最佳的几款手机,看看你用过哪款?
- 网络|中国2029年左右开始引入6G,你用上5G了吗?
- 表情|热搜第一!微信又添6个新表情,你用上了没?
- 新版人民币发行超过1年,却成为“罕见”之物,你用过吗?
- 曾红遍全球、人手一部,现却消失不见,这3大手机品牌你用过没?