获取 redis:6.0版本镜像
docker pull redis:6.0
创建配置文件
mkdir -p /data/redis-cluster
cd /data/redis-cluster
编辑 redis-cluster文件
vim /data/redis-cluster/redis-cluster.tmpl
port ${
PORT}
protected-mode no
bind 0.0.0.0
requirepass 123456
masterauth 123456
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 129.56.xxx.xxx 服务器的公网
cluster-announce-port ${
PORT}
cluster-announce-bus-port 1${
PORT}
appendonly yes
创建docker虚拟网卡
如果创建失败有可能是网段重叠,换个网段即可 172.19.0.0/16
docker network create --driver bridge --subnet 172.18.0.0/16 redis-net
创建redis节点配置文件
for port in `seq 5010 5015`; do \
base=5008 \
&& ip=$[port-base] \
&& mkdir -p ./${
port}/conf \
&& PORT=${
port} TEMP=${
ip} envsubst < ./redis-cluster.tmpl > ./${
port}/conf/redis.conf \
&& mkdir -p ./${
port}/data; \
done
查看配置文件
[root@ecs-1bce redis-cluster]# cat 501*/conf/redis.conf
port 5010
protected-mode no
bind 0.0.0.0
requirepass 123456
masterauth 123456
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 129.56.xxx.xxx
cluster-announce-port 5010
cluster-announce-bus-port 15010
appendonly yes
port 5011
protected-mode no
bind 0.0.0.0
requirepass 123456