(这个是mukewang的老是封装好的,拿来即用)
[root@localhost ~]# docker pull yyyyttttwwww/redis #重命名 [root@localhost ~]# docker tag yyyyttttwwww/redis redis #删除长名字的redis,以免后面干扰 [root@localhost ~]# docker rmi -f yyyyttttwwww/redis(我的mysql集群使用了net1,所以这里就使用一个新的网段)
[root@localhost ~]# docker network create --subnet=172.19.0.0/16 net2进入节点r1(后面几个节点以此类推)
[root@localhost ~]# docker exec -it r1 bash使用编辑器编辑,对比上面的编辑就行(因为这个是已经封装好的,基本上不需要修改)
root@1f6a080bff27:/# vi /usr/redis/redis.conf进入编辑区,使用斜杆后面跟查找内容的方式查找,示例 /daemonize 然后改成和上面的意义就行了,后面几项以此类推,完成后输入 :wq 退出.
进入目录
#寻找目录 root@1f6a080bff27:/# cd /usr/redis/src #启动 root@1f6a080bff27:/usr/redis/src# ./redis-server ../redis.conf 退出容器 root@1f6a080bff27:/usr/redis/src# exit同理操作其余几个节点镜像,到这里配置结束.
创建集群(这个镜像已将用ruby脚本写好了的,所以执行一下命令即可)
[root@localhost ~]# docker exec -it r1 bash root@1f6a080bff27:/# cd /usr/redis/ root@1f6a080bff27:/usr/redis# mkdir cluster root@1f6a080bff27:/usr/redis# cd src root@1f6a080bff27:/usr/redis/src# cp redis-trib.rb ../cluster root@1f6a080bff27:/usr/redis/src# ./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379执行后
输入yes后,看到下面就成功了,成功后,exit命令退出r1容器
那再测试一下(当然使用redis可视化客户端测试也行)
[root@localhost ~]# docker exec -it r1 bash #连接集群 root@1f6a080bff27:/# /usr/redis/src/redis-cli -c 127.0.0.1:6379> set name zhangxiaoxiang -> Redirected to slot [5798] located at 172.19.0.3:6379 OK 172.19.0.3:6379> get name "zhangxiaoxiang" 172.19.0.3:6379>解释一下(127.0.0.1:6379> info 查看版本信息,这个版本是3.2.3的,不是很新)