Docker使用笔记-搭建Redis集群
# 概述
这篇文章,主要记录我如何在本地环境搭建redis集群的过程。
# 前提
- 本地已安装docker
- 本地机器(Linux) ps:我本地环境为Mac
# 过程
- 拉取docker redis镜像
docker pull redis
1
2.确认redis镜像是否拉取成功
docker images
1
3.新建redis模版配置文件 在本地机器中,新建一个配置文件。我推荐,先创建/Users/username/redis 文件夹,然后在文件夹中新建redis-cluster.conf 文件,写入如下内容。
# ${PORT} redis 端口号。下一步,使用脚本替换。
port ${PORT}
cluster-enabled yes
protected-mode no
cluster-config-file nodes.conf
cluster-node-timeout 5000
#外部ip,可以使用ifconfig命令查看。 [注意: 不是127.0.0.1]
cluster-announce-ip 192.168.0.12
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
appendonly yes
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
创建文件命令
mkdir -p /Users/username/redis
touch /Users/username/redis/redis-cluster.conf
1
2
3
2
3
4.在/Users/username/redis 目录下,执行如下脚本文件,批量生成redis配置文件和data目录。
for port in `seq 6000 6005`; do
mkdir -p ./${port}/conf && PORT=${port} envsubst < ./redis-cluster.conf > ./${port}/conf/redis.conf && mkdir -p ./${port}/data;
done
1
2
3
2
3
5.执行docker启动脚本,执行成功后,通过docker ps 命令查看,如果新增6个容器,则代表成功。
for port in `seq 6000 6005`; do
docker run -d -ti -p ${port}:${port} -p 1${port}:1${port} -v /Users/username/redis/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /Users/username/redis/${port}/data:/data --restart always --name redis-${port} --net redis-net --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf;
done
1
2
3
2
3
6.进入某一个容器,进行关联。3主3从。
进入容器命令
docker exec -it containerid /bin/sh
1
执行关联
cd /usr/local/bin && redis-cli --cluster create 192.168.0.12:6000 192.168.0.12:6001 192.168.0.12:6002 192.168.0.12:6003 192.168.0.12:6004 ip:6005 --cluster-replicas 1
1
7.使用redis-cli 链接其中一个redis,增加一条数据。然后通过其它redis 容器,验证是否关联成功,
redis-cli -c -h 192.168.0.12 -p 6000 set test 1
redis-cli -c -h 192.168.0.12 -p 6001 get test
1
2
3
4
2
3
4
上次更新: 2023/01/11