Windos Docker Redis cluster 集群部署(linux一样)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40254498/article/details/79219355 废话不多说直接进入主题(第一次写,有不对的地方请指教。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40254498/article/details/79219355

废话不多说直接进入主题(第一次写,有不对的地方请指教。。大牛就放过我把)

docker 安装我采用的是window10 hyper-v ,直装版,这里就不做操作了

  • (我采用3.0.7的redis版本,用其他也行)
 # docker pull redis:3.0.7
  • 构建 redis-cluster

创建Dockerfile 文件

FROM redis:3.0.7
EXPOSE 6379
ADD redis.conf /redis.conf
ENTRYPOINT [ "redis-server", "/redis.conf" ]

dockerfile文件阅读也比较简单~
接下来
在同目录下放redis.conf(3.0.7版本)的配置文件

  • 修改dockerfile目录下的redis.conf 文件
  • 构建 dokcer images

    进入dockerfile目录

# docker build-t  “redis-cluster” .

注意后面有一个点当前目录
没写tag 默认latest

  • 为了使容器ip固定 重启后也是一样的
# docker network create --subnet=172.11.0.0/16  redis //创建网络
  • 创建 redis-cluster 结点容器
# docker run -d --net redis --ip 172.11.0.91 -p 8001:6379 --name redis1redis-cluster

# docker run -d --net redis --ip 172.11.0.92 -p 8002:6379 --name redis2redis-cluster

# docker run -d --net redis --ip 172.11.0.93 -p 8003:6379 --name redis3redis-cluster

# docker run -d --net redis --ip 172.11.0.94 -p 8004:6379 --name redis4redis-cluster

# docker run -d --net redis --ip 172.11.0.95 -p 8005:6379 --name redis5redis-cluster

# docker run -d --net redis --ip 172.11.0.96 -p 8006:6379 --name redis6redis-cluster

有的人说开发一个端口给客户端使用就好了 就把 -p 和后面的端口去掉就好了

  • 接下来使用官方的 redis-trib.rb (linux直接安装ruby 启动就好了)

所以要下载ruby

这里直接

# docker pull ruby

然后通过构建Dockerfile制作redis集群管理


FROM ruby

ADD redis-3.0.7.gem /redis-3.0.7.gem

ADD redis-trib.rb /redis-trib.rb

这两个文件放在目录下

Redis-3.0.7.gem 基于国情要导入,可以直接去网上下载

如果不下载就不用导入

直接 gem install redis –version 3.0.7

就可以直接安装

去掉dockerfile 上面那一行

然后进入该目录

# docker build “ruby-redis” .
  • 启动 ruby-redis
# docker run --net=redis --ip 172.11.0.100--name ruby11 -i -d ruby-redis

要在同一个网络 redis 才能互连

  • 进入改ruby 容器

# docker exec -it ruby11 /bin/bash

安装redis-gem


# gem install -l redis-3.0.7.gem 或者

# gem install redis –version 3.0.7
  • 接下来 启动集群
# ./redis-trib.rb  create --replicas 1  172.11.0.91:6379172.11.0.92:6379 172.11.0.93:6379 172.11.0.94:6379 172.11.0.95:6379 172.11.0.96:6379

1表示 master 后面有一个 slave cluster

然后输入yes 就可以了

  • 随便登录一个节点测试连接集群测试
# cluster node

# cluster info

设置k-v 测试

切换结点测试

宿主机测试:

Docker ip 10.0.75.1

端口就是容器对外开放的端口

另一个是容器间端口使用

看不懂可以到我简书上,有图文! —— [ 简书 ]

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
数据可视化 Linux API
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
|
1月前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
|
7天前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
15 0
|
9天前
|
NoSQL Linux PHP
php添加redis扩展 linux和windos图文详解 l
php添加redis扩展 linux和windos图文详解 l
3 0
|
17天前
|
Linux Docker 容器
Linux彻底卸载Docker包括运行拉取的镜像
Linux彻底卸载Docker包括运行拉取的镜像
21 1
|
30天前
|
关系型数据库 MySQL 数据库
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
34 0
|
1月前
|
Linux 开发者 Docker
【Linux】在Linux上安装Docker: 一站式指南
【Linux】在Linux上安装Docker: 一站式指南
360 0
|
1月前
|
关系型数据库 MySQL Linux
如何在Linux上搭建本地Docker Registry镜像仓库并实现公网访问
如何在Linux上搭建本地Docker Registry镜像仓库并实现公网访问
|
8天前
|
NoSQL Linux Redis
06- 你们使用Redis是单点还是集群 ? 哪种集群 ?
**Redis配置:** 使用哨兵集群,结构为1主2从,加上3个哨兵节点,总计分布在3台Linux服务器上,提供高可用性。
16 0