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

废话不多说直接进入主题

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

pull redis

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

构建 redis-cluster

创建Dockerfile 文件

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

dockerfile文件阅读也比较简单~

进入dockerfile目录

接下来
在同目录下放redis.conf(3.0.7版本)的配置文件
修改dockerfile目录下的redis.conf 文件
构建 dokcer images

1
# 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
3
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 上面那一行
然后进入该目录

1
# docker build “ruby-redis” .

启动ruby

启动 ruby-redis

1
# 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-gem

1
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
端口就是容器对外开放的端口
另一个是容器间端口使用

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

Powered by Hexo

Copyright © 2016 - 2019 When I think of you, I smile. All Rights Reserved.

UV : | PV :