1,拉取镜像
#此命令拉取的是最新版redis
docker pull redis
2,运行redis实例(自己根据下面命令运行六个实例)
docker run -d --name tztang_redis-node-6389 --net host --privileged=true -v /tztangEnvironment/redis-cluster/redis-node-6389:/data redis --cluster-enabled yes --appendonly yes --requirepass tangtuzhen --masterauth tangtuzhen --port 6389
2.1,各个参数解析:
docker run:创建并运行docker容器实例
--name redis-node-6389:容器名字
--net host:使用宿主机的ip和端口
--privileged=true:获取宿主机root用户权限
-v /tztangEnvironment/redis-cluster/redis-node-6393:/data:容器卷,宿主机地址:docker内部地址
redis:redis镜像和版本号
--cluster-enabled yes:开启redis集群
--appendonly yes:开启持久化
--port 6389:redis端口号
--requirepass:设置连接密码,集群密码需要一致
--masterauth:以认证的方式连接到master。 如果master中使用了“密码保护”,slave必须交付正确的授权密码,才能连接成功。“requirepass”配置项指定了当前server的密码。此配置项中值需要和master机器的“requirepass”保持一致。
3,进入其中一个redis实例,进行主从机以及槽点分配
3.1,进入任意redis,例如
docker exec -it 容器ID /bin/bash
3.2,进行主机和槽点分配
redis-cli -a tangtuzhen --cluster create 124.223.68.234:6389 124.223.68.234:6390 124.223.68.234:6391 124.223.68.234:6392 124.223.68.234:6393 124.223.68.234:6394 --cluster-replicas 1
-a:redis实例的密码
--cluster create:设置外网ip和端口
--cluster-replicas 1:自动配置主从节点
4,注意
注意在使用上述命令是先在服务器开启总线端口和客户端连接端口,总线端口是客户端端口+10000。