Docker环境下安装 Redis
- 1、单机版 redis 安装
- 2、集群 cluster 搭建
本文主要讲解在 docker 上面进行 安装 redis 的单机版及集群版,集群为一台机器安装 6 个 redis ,使用不同的端口进行区分,实际线上环境根据实时状态调整。仅供参考!
1、单机版 redis 安装
首先在服务器创建相关目录,主要用来与容器内 redis 目录做映射,方便后续操作 redis 时,不必进入到容器中去修改。
mkdir -p /docker/redis
cd /docker/redis
mkdir data
mkdir conf
data 目录是存放 redis 数据的,conf 目录是存放 redis 配置相关
cd conf
touch redis.conf
conf 目录下先创建 redis.conf 文件,否则在后面挂载的时候,会被当做是文件夹进行自行创建,这是一个小坑,需要注意!!
vim redis.conf
在文件中写入自己想要的配置,这里只写入一项,根据自己需求来定就可以。
#启用 aof
appendonly yes
万事具备,下面来进行容器创建
docker run -p 6379:6379 --name redis -v /docker/redis/data:/data -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
查看已创建好的 redis
docker ps
单机版 redis 安装完毕,后续如果想修改 redis 的配置,直接修改宿主机上面的文件,然后重启即可。
2、集群 cluster 搭建
此集群版,是在一台服务上搭建的,请注意自己的环境!!
其实集群版搭建和单机版搭建,步骤差不多,这里不做过多说明了,提供一个批量脚本。
for port in $(seq 7001 7006); \
do \
mkdir -p /docker/redis/node-${port}/conf
touch /docker/redis/node-${port}/conf/redis.conf
cat << EOF >/docker/redis/node-${port}/conf/redis.conf
port ${port}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 211.88.26.238
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
appendonly yes
#配置访问密码,如不需要可注释
requirepass qwer123456!
EOF
docker run -p ${port}:${port} -p 1${port}:1${port} --name redis-${port} --restart always \
-v /docker/redis/node-${port}/data:/data \
-v /docker/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf; \
done
执行结果如图:
执行完之后,只是创建了 6 个独立的 redis 服务,下面需要创建集群,命令如下:
#首先,选择一个服务进入容器内部,使用 redis-cli 命令来创建
# -replicas 1 代表一个master 有一个 slave
docker exec -it redis-7001 /bin/bash
redis-cli --cluster create 211.88.26.238:7001 211.88.26.238:7002 211.88.26.238:7003 211.88.26.238:7004 211.88.26.238:7005 211.88.26.238:7006 --cluster-replicas 1
执行完毕,集群创建完成,连接一台应用,查看集群信息
redis-cli -p 7001
#查看集群信息
cluster info
#查看集群节点信息
cluster nodes
好了,单机版集群也安装完毕,可以使用了!!