文章目录
使用DockerCompose配置单个redis环境可以参考另一篇文章【使用DockerCompose安装Redis】
一、注意事项(坑点!!!)
- 在slave配置指定master时(
slaveof redis-master 6379
),尽管master是配置映射的6380,但是端口还是要指定6379,这个端口必须是master容器内的端口
,而不是映射到主机的端口。 - 配置sentinel.conf时,指定master要用ip或者域名,指定master的容器名无法通过(
只有redis.conf里知道master时容器名可以通过
,如果有朋友知道其中原理是什么,欢迎在评论区留言讨论)。 - 使用
docker-compose down
删除容器集群之后,下一次启动时master的ip可能变了,要重新查询master的ip并修改哨兵的配置文件
。
二、配置Redis主从架构集群
第一步:创建目录文件结构
# 进入docker相关文件目(没有可以参考文章顶部的文章创建一个)
cd /docker
# 创建相关目录
mkdir redis-master-slave redis-master-slave/master redis-master-slave/slave1 redis-master-slave/slave2
第二步:编写DockerCompose配置文件
vim /docker/docker-compose/redis-master-slave.yml
写入以下内容
version: '3'
services:
# ------------------- master -------------------
redis-master:
image: redis:6.2.14
container_name: redis-master
ports:
- 6380:6379
volumes:
- /docker/redis-master-slave/master/redis.conf:/usr/local/etc/redis/redis.conf
- /docker/redis-master-slave/master/data:/data
- /docker/redis-master-slave/