Docker 部署 redis 集群
Dockers 部署集群
- CentOS7一些配置
- 配置静态IP地址
- ping不通Win10
- 安装Dockers
- 卸载旧版本(如果以前安装过旧版本可以先卸载)
- 安装docker工具
- 设置镜像仓库
- 安装docker引擎
- 启动docker服务
- 创建redis集群
- 创建网络并设置内网ip
- 创建redis 集群文件目录
- 创建 redis 集群容器
- 加入集群
- 使用可视化工具连接
CentOS7一些配置
1. 配置静态IP地址
设置静态IP地址与动态iIP差不多,也是要修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 (最后一个为网卡名称)
vi /etc/sysconfig/network-scripts/ifcfg-ens33
重启网络服务
[root@localhost ~]# systemctl restart network
2. ping不通Win10
关闭防火墙
临时关闭(下次开机启动,自动启动防火墙)
[root@localhost ~]# systemctl stop firewalld
查看防火墙状态
[root@localhost ~]# systemctl status firewalld
永久关闭防火墙(开机启动时不在启动)
[root@localhost ~]# systemctl disable firewalld
安装Dockers
参考官方:https://docs.docker.com/engine/install/centos/
1. 卸载旧版本(如果以前安装过旧版本可以先卸载)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 安装docker工具
yum install -y yum-utils
3. 设置镜像仓库
#官方默认的镜像仓库地址
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
#改为阿里云的镜像仓库地址
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4. 安装docker引擎
yum install docker-ce docker-ce-cli containerd.io
5. 启动docker服务
#启动服务
systemctl start docker
#检查版本
docker version
创建redis集群
创建网络并设置内网ip
docker network create redis --subnet 172.38.0.0/16
创建redis 集群文件目录
下面是shell脚本,复制进Xshell直接运行
for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${
port}/conf
touch /mydata/redis/node-${
port}/conf/redis.conf
cat << EOF >/mydata/redis/node-${
port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.38.0.1${
port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done
查看脚本新建的文件目录
cd /mydata/redis/
ls
node-1 node-2 node-3 node-4 node-5 node-6
创建 redis 集群容器
复制进去,等待拉取镜像安装
docker run -p 6371:6379 -p 16371:16379 --name redis-1 \
-v /mydata/redis/node-1/data:/data \
-v /mydata/redis/node-1/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.11 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf
docker run -p 6372:6379 -p 16372:16379 --name redis-2 \
-v /mydata/redis/node-2/data:/data \
-v /mydata/redis/node-2/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.12 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf
docker run -p 6373:6379 -p 16373:16379 --name redis-3 \
-v /mydata/redis/node-3/data:/data \
-v /mydata/redis/node-3/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.13 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf
docker run -p 6374:6379 -p 16374:16379 --name redis-4 \
-v /mydata/redis/node-4/data:/data \
-v /mydata/redis/node-4/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.14 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf
docker run -p 6375:6379 -p 16375:16379 --name redis-5 \
-v /mydata/redis/node-5/data:/data \
-v /mydata/redis/node-5/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.15 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf
docker run -p 6376:6379 -p 16376:16379 --name redis-6 \
-v /mydata/redis/node-6/data:/data \
-v /mydata/redis/node-6/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.16 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf
查看正在运行的容器
docker ps
加入集群
进入容器
docker exec -it redis-1 /bin/sh
创建集群主从模式
redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1
还没有评论,来说两句吧...