执行以下命令直接下载redis6.0.6版本镜像
#dokcer pull 镜像名:版本号
docker pull redis:6.0.6
搭建redis集群
安装好redis镜像后,我们需要搭建集群,集群配置如下:
docker端口号→宿主机对外暴露的端口:6379,6380,6381,6382,6383,6384
挂载目录:data数据文件 /data/redis/端口号/redis.conf:/etc/redis/redis.conf
conf(配置文件)/data/redis/端口号/data
集群模式:三主三从
节点容器名称:redis-6379,redis-63780,redis-6381,redis-6382,redis-6383,redis-6384
回到linux,首先创建好挂载目录
mkdir -p /data/redis/63{79,80,81,82,83,84}
vim /usr/local/docker/redis/7000/redis.conf
# 添加以下配置信息
port 6379
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 20000
# 认证密码
requirepass 12345
# 连接master的认证密码
masterauth 123456
port # 节点端口
protected-mode # 保护模式,默认值 yes,即开启
daemonize # 是否以守护线程的方式启动(后台启动),默认 no;
appendonly # 是否开启 AOF 持久化模式,默认 no;
cluster-enabled # 是否开启集群模式,默认 no
cluster-config-file # 集群节点信息文件
cluster-node-timeout # 集群节点连接超时时间(ms)
cp /data/redis/6379/redis.conf /data/redis/6380
cp /data/redis/6379/redis.conf /data/redis/6381
cp /data/redis/6379/redis.conf /data/redis/6382
cp /data/redis/6379/redis.conf /data/redis/6383
cp /data/redis/6379/redis.conf /data/redis/6384
接下来就可以创建每个节点的docker容器
sudo docker run \
-v /data/redis/6379/redis.conf:/etc/redis/redis.conf \
-v /data/redis/6379/data:/data \
--name redis-6379 \
--net host \
-d 1319b1eaa0b7 redis-server /etc/redis/redis.conf
sudo docker run \
-v /data/redis/6380/redis.conf:/etc/redis/redis.conf \
-v /data/redis/6380/data:/data \
--name redis-6380 \
--net host \
-d 1319b1eaa0b7 redis-server /etc/redis/redis.conf
sudo docker run \
-v /data/redis/6381/redis.conf:/etc/redis/redis.conf \
-v /data/redis/6381/data:/data \
--name redis-6381 \
--net host \
-d 1319b1eaa0b7 redis-server /etc/redis/redis.conf
sudo docker run \
-v /data/redis/6382/redis.conf:/etc/redis/redis.conf \
-v /data/redis/6382/data:/data \
--name redis-6382 \
--net host \
-d 1319b1eaa0b7 redis-server /etc/redis/redis.conf
sudo docker run \
-v /data/redis/6383/redis.conf:/etc/redis/redis.conf \
-v /data/redis/6383/data:/data \
--name redis-6383 \
--net host \
-d 1319b1eaa0b7 redis-server /etc/redis/redis.conf
sudo docker run \
-v /data/redis/6384/redis.conf:/etc/redis/redis.conf \
-v /data/redis/6384/data:/data \
--name redis-6384 \
--net host \
-d 1319b1eaa0b7 redis-server /etc/redis/redis.conf
此时我们已经创建好了所有节点,但各个节点还是相互独立的,我们需要将他们整合成集群,执行以下命令建立集群
redis-cli --cluster create 192.168.137.110:6379 192.168.137.110:6380 192.168.137.110:6381 192.168.137.110:6382 192.168.137.110:6383 192.168.137.110:6384 --cluster-replicas 1 -a 密码
我们可以执行以下命令进入其中一个节点查看集群信息
# 进入7000节点容器
docker exec -it redis-6379 bash
# 进入redis
redis-cli -p 6381
auth 密码 进行验证
# 查看集群状态
cluster nodes
No Comments