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

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

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

另一个是容器间端口使用

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

上一篇:Java 8 - lambda


下一篇:使用silverlight中的Storyboard实现动画效果