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

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 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

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

另一个是容器间端口使用

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

目录
相关文章
|
9月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
6月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1957 8
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
736 6
|
9月前
|
NoSQL Redis 数据安全/隐私保护
挂载配置文件以Docker启动Redis服务
以上步骤提供了一个高效且实用的方式来使用Docker启动并运行带有自定义配置的Redis服务。这些操作可以适用于开发、测试和生产环境,是一种灵活且可扩展的部署方案。通过挂载配置文件和数据卷,您可以轻松地管理和迁移您的Redis实例。
923 9
|
NoSQL Redis Docker
Docker——阿里云服务器利用docker搭建redis集群
本文详细记录了使用Docker搭建Redis集群的过程,包括检查Docker和Docker Compose的安装、创建Redis配置文件、编写`docker-compose.yml`文件、启动Redis节点、创建Redis集群的具体步骤,以及最终的验证方法。文章还提供了在多服务器环境下搭建Redis集群的注意事项,帮助读者全面了解 Redis 集群的部署流程。
1658 68
|
10月前
|
Linux iOS开发 Docker
MyEMS开源系统安装之Linux/macOS上的DOcker
本指南详细介绍了如何在Linux/macOS上使用Docker部署MyEMS系统。主要内容包括:前置条件(如安装Docker、npm和MySQL),以及分步骤部署各个组件(如myems-api、myems-admin、myems-modbus-tcp等)。每个步骤涵盖源代码复制、环境配置、镜像构建、容器运行及日志管理等操作,并提供了多平台构建的支持。最后,指南还说明了默认端口和登录凭据,帮助用户快速启动并访问MyEMS的管理界面和Web界面。
354 1
|
12月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
518 28
|
NoSQL Redis 数据库
Docker平台上的Redis镜像运行
这就是如何在Docker平台上运行Redis镜像的全部过程。走进Docker和Redis的世界,探索更多可能!
740 10
|
Linux 网络安全 虚拟化
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
1526 1
|
7月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
801 1
二、Linux文本处理与文件操作核心命令