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

执行结果如图:

docker redis安装 docker安装redis集群_docker


执行完之后,只是创建了 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

docker redis安装 docker安装redis集群_redis_02


执行完毕,集群创建完成,连接一台应用,查看集群信息

redis-cli -p 7001

#查看集群信息
cluster info

docker redis安装 docker安装redis集群_docker_03

#查看集群节点信息
cluster nodes

docker redis安装 docker安装redis集群_docker redis安装_04


好了,单机版集群也安装完毕,可以使用了!!