废话不多说直接进入主题
docker 安装我采用的是window10 hyper-v ,直装版,这里就不做操作了
pull redis
- (我采用3.0.7的redis版本,用其他也行)
1
# docker pull redis:3.0.7
构建 redis-cluster
创建Dockerfile 文件
1 | FROM redis:3.0.7 |
dockerfile文件阅读也比较简单~
进入dockerfile目录
接下来
在同目录下放redis.conf(3.0.7版本)的配置文件
修改dockerfile目录下的redis.conf 文件
构建 dokcer images1
# docker build -t “redis-cluster” .
注意后面有一个点当前目录
没写tag 默认latest
为集群选定ip
为了使容器ip固定 重启后也是一样的1
# docker network create --subnet=172.11.0.0/16 redis //创建网络
创建 redis-cluster 结点容器1
2
3
4
5
6
7
8
9
10
11# docker run -d --net redis --ip 172.11.0.91 -p 8001:6379 --name redis1 redis-cluster
# docker run -d --net redis --ip 172.11.0.92 -p 8002:6379 --name redis2 redis-cluster
# docker run -d --net redis --ip 172.11.0.93 -p 8003:6379 --name redis3 redis-cluster
# docker run -d --net redis --ip 172.11.0.94 -p 8004:6379 --name redis4 redis-cluster
# docker run -d --net redis --ip 172.11.0.95 -p 8005:6379 --name redis5 redis-cluster
# docker run -d --net redis --ip 172.11.0.96 -p 8006:6379 --name redis6 redis-cluster
有的人说开发一个端口给客户端使用就好了 就把 -p 和 后面的端口去掉就好了
集群管理ruby
接下来使用官方的 redis-trib.rb (linux直接安装ruby 启动就好了)
下载ruby
所以要下载ruby
这里直接1
# docker pull ruby
dockerfile构建可用ruby
然后通过构建Dockerfile制作redis集群管理1
2
3FROM 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 上面那一行
然后进入该目录1
# docker build “ruby-redis” .
启动ruby
启动 ruby-redis1
# docker run --net=redis --ip 172.11.0.100--name ruby11 -i -d ruby-redis
要在同一个网络 redis 才能互连
进入ruby起得容器
进入改ruby 容器
1 | # docker exec -it ruby11 /bin/bash |
在容器中安装
安装redis-gem1
2# gem install -l redis-3.0.7.gem 或者
# gem install redis –version 3.0.7
启动集群
1 | # ./redis-trib.rb create --replicas 1 172.11.0.91:6379 172.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 就可以了
测试
随便登录一个节点测试连接集群测试1
2# cluster node
# cluster info
设置k-v 测试
切换结点测试
宿主机测试:
Docker ip 10.0.75.1
端口就是容器对外开放的端口
另一个是容器间端口使用
看不懂可以到我简书上,有图文! —— [ 简书 ]