ps:博客用与记录个人学习过程中遇到的一些问题以及解决方案。若有表述不当之处还请见谅。
环境准备
- 两个节点以上的swarm集群,关于swarm搭建可以参考之前的文章。
- publicisworldwide/redis-cluster 镜像,这个镜像是redis专门的集群镜像,但在这里最好做一点小小的改变。后面会贴上dockerfile
- inem0o/redis-trib 镜像,该镜像用于管理redis集群。但也貌似有些小问题。后面有本人委曲求全的适应方案嘿。
第一步
自定义镜像
FROM publicisworldwide/redis-cluster
MAINTAINER 121
RUN sed -i 's/http:\/\/archive\.ubuntu\.com\/ubuntu\//http:\/\/mirrors\.ustc\.edu\.cn\/ubuntu\//g' /etc/apt/sources.list
RUN apt-get update
publicisworldwide/redis-cluster为了保持其轻量,需要我们自己去update(对于一些不需要的服务则可以不用 类似nginx)
update目的是为了使用其中redis-cli工具。
第4行代码是更新了原镜像源,为了很快的速度。当前使用了中科大的镜像源,如果你在build的过程中发现404可以换其他镜像源,例如阿里云,清华大学等。
第二步
关于redis集群应该注意的事情这里不在重复,示例采用3主3从的形式。(后面会贴上完整的compose代码)
- 首先redis集群应该和服务分离,当服务关闭调整时redis集群应该还是启动状态。
- 既然需要分离,那么redis的网络应该是开放式,compose文件应该是redis网络添加attachable属性并赋值为true
- 连接

本文档详细记录了如何在Docker Swarm环境下搭建Redis集群,包括环境准备、自定义镜像、创建集群及管理集群的步骤。在过程中提到了遇到的坑,如需使用网络内IP来创建集群,并提供了获取容器IP的小脚本。文章最后简要分享了一些集群管理的经验。
最低0.47元/天 解锁文章
2549

被折叠的 条评论
为什么被折叠?



