写在前面:
这几天刚刚上手docker,如有说的不对之处,请多多指教!!
docker 是window10 直装 只要打开hyper-v 。支持虚拟化技术,bios中打开就是了。
这个安装和docker基础就不在这里说了
1.# docker pull redis:3.0.7(我采用3.0.7的redis版本,用其他也行)
2.构建redis-cluster
创建Dockerfile文件
FROM redis:3.0.7
EXPOSE 6379
ADD redis.conf /redis.conf
ENTRYPOINT[ "redis-server", "/redis.conf" ]
在同目录下放redis.conf(3.0.7版本)的配置文件
3.修改dockerfile目录下的redis.conf文件
4.构建dokcer images
进入dockerfile目录
# docker build-t“redis-cluster” .
没写tag默认latest
5.为了使容器ip固定 重启后也是一样的
# docker network create --subnet=172.11.0.0/16redis//创建网络
6.创建redis-cluster结点容器
# dockerrun -d --net redis --ip 172.11.0.91 -p 8001:6379 --name redis1redis-cluster
# dockerrun -d --net redis --ip 172.11.0.92 -p 8002:6379 --name redis2redis-cluster
# dockerrun -d --net redis --ip 172.11.0.93 -p 8003:6379 --name redis3redis-cluster
# dockerrun -d --net redis --ip 172.11.0.94 -p 8004:6379 --name redis4redis-cluster
# dockerrun -d --net redis --ip 172.11.0.95 -p 8005:6379 --name redis5redis-cluster
# dockerrun -d --net redis --ip 172.11.0.96 -p 8006:6379 --name redis6redis-cluster
7.接下来使用官方的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” .
结果如上图所示
8.启动ruby-redis
# docker run --net=redis --ip 172.11.0.100--name ruby11 -i -d ruby-redis
要在同一个网络redis才能互连
9.进入改ruby容器
# docker exec -it ruby11 /bin/bash
安装redis-gem
# gem install -l redis-3.0.7.gem或者
# gem install redis –version 3.0.7
10.接下来 启动集群
# ./redis-trib.rbcreate--replicas 1172.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就可以了
11.随便登录一个节点测试连接集群测试
一定要加-c
# cluster node
# cluster info
设置k-v测试
切换结点测试
主机测试:
Docker ip 10.0.75.1
端口就是容器对外开放的端口
另一个是容器间端口使用
测试结果:
恭喜你成功了!!