docker部署redis-cluster集群
主机环境
- 阿里云服务器 ECS ,2核4G,系统:Centos_7_05_64
- Redis 5.0.0 以上
- docker 社区版 version 18.09.0
安装docker
- 安装所需的软件包
1 | sudo yum install -y yum-utils \ |
- 使用以下命令来设置稳定的存储库
1 | sudo yum-config-manager \ |
-
安装docker ce(docker社区版-必须-版本会新一点)
- docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 docker 。
通过 uname -r 命令查看你当前的内核版本 - 移除旧的版本:
1
2
3
4
5
6
7
8
9
10sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine- 更新 yum
1
yum update
- 安装 docker-ce:
1
yum -y install docker-ce
- 启动 docker 后台服务
1
systemctl start docker
- 设置docker 开机自启
1
systemctl enable docker
- 查看防火墙状态
1
systemctl status firewalld
- 若当前状态时dead状态,则需要开启防火墙;
1
2
3systemctl start firewalld
systemctl status firewalld 查看firewalld状态,显示running即已开启了
systemctl stop firewalld 关闭防火墙- 开放需要的端口
1
2
3
4firewall-cmd --permanent --zone=public --add-port=7001-7006/tcp
firewall-cmd --permanent --zone=public --add-port=17001-17006/tcp
firewall-cmd --reload //重新加载配置
firewall-cmd --permanent --zone=public --list-ports //查看开放端口- 获取 redis 镜像
1
2docker pull redis
docker images 查看镜像 - docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 docker 。
创建 redis 容器
- 创建 redis 的配置文件
在 /home 下新建 redis-cluster 文件夹,然后创建 redis-cluster.tmpl 文件,文件内容如下:
1 | port ${PORT} //redis运行端口号 |
- 命令查看配置:
1 | cat /home/redis-cluster/redis-cluster.tmpl |
- 在/home/redis-cluster下生成conf和data目标,并生成配置信息
共生成6个文件夹,从7001到7006,每个文件夹下包含data和conf文件夹,同时conf里面有redis.conf配置文件
1 | for port in `seq 7001 7006`; do \ |
- 创建6个redis容器
这里使用 host 网络方式启动容器
1 | for port in `seq 7001 7006`; do \ |
- docker ps 查看容器
- 其他命令
1 | docker stop name/id |
集群(redis 5.0 安装集群方法)
- 进入一个已运行的容器
1 | docker exec -it redis-7001 bash |
- 在容器中执行集群命令
1 | /usr/local/bin/redis-cli --cluster create \ |
- 连接成功
进行测试
1 | docker exec -it redis-7001 bash 进入7001容器 |