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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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
目录
相关文章
|
10天前
|
Linux Docker 容器
linux之docker命令
linux之docker命令
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
2月前
|
NoSQL Redis 数据安全/隐私保护
深入探索利用Docker安装Redis
【8月更文挑战第27天】
92 2
|
2月前
|
Kubernetes Linux Docker
【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误
【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误
|
2月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
2月前
|
Linux 持续交付 虚拟化
在Linux中,Docker和容器虚拟概念是什么?
在Linux中,Docker和容器虚拟概念是什么?
|
2月前
|
运维 Kubernetes Linux
docker和kubectl客户端安装Linux
通过上述步骤,您应该已经在Linux环境中成功安装了Docker和kubectl客户端。安装完成后,您可以开始使用Docker来创建和管理容器,使用kubectl来管理Kubernetes集群。这些工具的安装和使用,对于现代云原生应用的开发和运维来说,是一个基础且关键的步骤。
30 0
|
2月前
|
存储 Kubernetes Linux
在Linux中,如何使用Docker和Kubernetes管理容器?
在Linux中,如何使用Docker和Kubernetes管理容器?
|
22天前
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
下一篇
无影云桌面