在Docker中部署Redis集群
2021/11/30 19:08:46
本文主要是介绍在Docker中部署Redis集群,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在Docker中部署Redis集群
首先拉取Redis镜像
docker pull redis
创建存放Redis配置文件的目录
- 创建文件夹的目的是为了将文件夹挂载到Docker容器中
# 创建一个文件 名字叫create.sh touch create.sh # 编辑文件的内容 vim create.sh # ---------------- 文件内容开始 ----------------- for i in `seq 7001 7006` do mkdir -p ${i}/data done # ---------------- 文件内容结束 ---------------- # 编辑保存完成之后,运行这个脚本,创建出所需要的文件夹。 sh create.sh
将redis.conf放入到集群各自的文件夹中并修改
- 目录结构如下图:
-
修改
redis.conf
配置文件的主要参数有:port # 修改每个redis中的端口号 bind 0.0.0.0 # 表示绑定到哪个ip,0.0.0.0表示不论以什么IP来访问都会接受。 protected-mode no # 关闭保护模式 daemonize no # 关闭以守护式进程启动 cluster-enabled yes # 开启集群功能 cluster-config-file nodes-7001.conf # 修改每一个redis的集群配置文件 cluster-node-timeout 5000 # 节点超时时间
创建docker-compose.yml文件
-
接下来就是编写docker-compsoe.yml
version: "3.4" x-image: &default-image redis x-restart: &default-restart always x-netmode: &default-netmode host services: redis1: image: *default-image restart: *default-restart container_name: redis-7001 ports: - "7001:7001" command: redis-server /etc/redis/redis.conf volumes: - ${PWD}/7001/data:/data - ${PWD}/7001/redis.conf:/etc/redis/redis.conf network_mode: *default-netmode redis2: image: *default-image restart: *default-restart container_name: redis-7002 ports: - "7002:7002" command: redis-server /etc/redis/redis.conf volumes: - ${PWD}/7002/data:/data - ${PWD}/7002/redis.conf:/etc/redis/redis.conf network_mode: *default-netmode redis3: image: *default-image restart: *default-restart container_name: redis-7003 ports: - "7003:7003" command: redis-server /etc/redis/redis.conf volumes: - ${PWD}/7003/data:/data - ${PWD}/7003/redis.conf:/etc/redis/redis.conf network_mode: *default-netmode redis4: image: *default-image restart: *default-restart container_name: redis-7004 ports: - "7004:7004" command: redis-server /etc/redis/redis.conf volumes: - ${PWD}/7004/data:/data - ${PWD}/7004/redis.conf:/etc/redis/redis.conf network_mode: *default-netmode redis5: image: *default-image restart: *default-restart container_name: redis-7005 ports: - "7005:7005" command: redis-server /etc/redis/redis.conf volumes: - ${PWD}/7005/data:/data - ${PWD}/7005/redis.conf:/etc/redis/redis.conf network_mode: *default-netmode redis6: image: *default-image restart: *default-restart container_name: redis-7006 ports: - "7006:7006" command: redis-server /etc/redis/redis.conf volumes: - ${PWD}/7006/data:/data - ${PWD}/7006/redis.conf:/etc/redis/redis.conf network_mode: *default-netmode
使用 docker-compose 创建容器
- 在有
docker-compose.yml
的目录中输入
docker-compose up -d # 以守护式进程的方式运行容器 docker-compsoe ps # 查看由 docker-compose 工具创建出来的容器 # docker-compose stop 停止由 docker-compose 工具创建出来的容器运行 # docker-compose rm 删除由 docker-compose 工具创建出来的容器
设置 Redis 集群
- 上面只是启动了6个redis容器,但并没有设置集群。
- 我们先随便进入一个redis容器,执行下面的命令,将IP替换成自己宿主机的IP
docker exec -it redis-7001 redis-cli -p 7001 \ --cluster create 192.168.20.255:7001 192.168.20.255:7002 192.168.20.255:7003 \ 192.168.20.255:7004 192.168.20.255:7005 192.168.20.255:7006 \ --cluster-replicas 1
- 当出现
Can I set the above configuration? (type 'yes' to accept)
时,输入yes
,完成集群的设置。
至此,基于 Docker 部署的 redis-cluster 集群就已经完成
这篇关于在Docker中部署Redis集群的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识