docker安装redis集群(单机)

创建文件以及文件夹

创建文件夹
mkdir 文件夹名称  
创建文件
touch 文件名称
  • pwd 当前目录地址
  • ll 获取当前文件夹下的文件详情(需要创建四个文件)

创建redis-cluster.tmpl   这是个redis配置文件(注释要单独一行,不然会报“FATAL CONFIG FILE ERROR :Bad directive or wrong number of arguments”错误)

protected-mode no 
##设置外部网络连接redis服务,默认是yes,即开启。开启protected-mode保护模式,需配置bind ip或者设置访问密码,关闭protected-mode模式,此时外部网络可以直接访问
port ${PORT}
##节点端口
daemonize no 
##指定redis是否要用守护线程的方式启动,默认no
appendonly yes 
##持久化模式
cluster-enabled yes
##cluster集群模式
cluster-config-file nodes.conf 
##集群配置名
cluster-node-timeout 15000
##超时时间
cluster-announce-ip 172.19.0.${TEMP} 
##实际为各节点网卡分配ip
cluster-announce-port ${PORT} 
##节点映射端口
cluster-announce-bus-port 1${PORT} 
##节点总线端 

创建creatRedisCluster.sh 这是个shell脚本,循环六次,在当前路径下创建文件夹以及创建六个节点的配置文件。‘’
服务配置文件

for port in `seq 7001 7006`; do \
  base=6999 \
  && ip=$[port-base] \
  && mkdir -p ${port}/conf \
  && PORT=${port} TEMP=${ip} envsubst < redis-cluster.tmpl > ${port}/conf/redis.conf \
  && mkdir -p ${port}/data;\
done

创建start.sh 这是个启动脚本,这里运行了六个节点,并做了端口映射以及容器卷的映射,注意修改容器卷的位置。这里也指定了redis的版本是5.0的版本,可以修改自己所需版本。

for port in `seq 7001 7006`; do
  docker run -p ${port}:${port} -p 1${port}:1${port} --name redis-${port} \
  -v /home/docker/redis/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
  -v /home/docker/redis/redis-cluster/${port}/data:/data --name redis-${port} --net redis-net -d redis:5.0 redis-server /usr/local/etc/redis/redis.conf;
done

创建stop.sh 这是个停止脚本。关闭并删除六个redis容器,也删除通一级下的六个文件夹

docker stop redis-7001 redis-7002 redis-7003 redis-7004 redis-7005 redis-7006 
 
docker rm redis-7001 redis-7002 redis-7003 redis-7004 redis-7005 redis-7006 
 
rm -rf 7001 7002 7003 7004 7005 7006

现在开始执行命令

1、创建自定义网卡redis-net

docker network create redis-net

2、查看网卡是否创建

docker network ls

3、查看虚拟网卡redis-net网关ip。我这ip是172.19.0.1 有些是172.18.0.1 所以如果有区别需要在配置文件redis-cluster.tmpl上修改网卡分配ip

docker network inspect redis-net | grep "Gateway" | grep --color=auto -P '(\d{1,3}.){3}\d{1,3}' -o

4、运行creatRedisCluster.sh 下面是运行后的效果

sh creatRedisCluster.sh 

5、运行start.sh 因为我没有下载redis:5.0的镜像,所以直接运行之后会去从仓库先下载镜像再运行。

6、进入其中一个节点容器

docker exec -it redis-7001 bash

7、执行集群命令(在容器里面执行)

/usr/local/bin/redis-cli --cluster create 172.19.0.2:7001 172.19.0.3:7002 172.19.0.4:7003 172.19.0.5:7004 172.19.0.6:7005 172.19.0.7:7006  --cluster-replicas 1

这就集群成功了!!!!

顺便说下,亲测,阿里云新增安全组开放端口不需要重启实例,直接加上就可以访问。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在docker安装redis集群,首先需要确保已经安装docker并启动了docker服务。可以按照引用中的步骤来卸载之前可能存在的残留文件,并通过阿里云docker yum源配置好docker安装源。 接下来,需要准备一个Linux系统机器,并在该机器上安装docker。确保已经对docker的基本知识有所了解,并熟悉docker的常用命令,可以参考引用中的博文来学习docker的基础知识。 一旦docker安装完成并启动了服务,就可以开始搭建redis集群了。可以在docker容器中安装redis,具体的安装步骤可以通过查阅相关文档或教程来获取。在安装redis之前,可以使用以下命令来启动docker服务: ``` systemctl enable docker systemctl start docker ``` 通过以下命令可以查看docker的版本信息: ``` docker version ``` 以上是在docker安装redis集群的大致步骤,具体的安装和配置过程可能会因为不同的环境和需求而有所差异。建议在安装之前仔细阅读相关的文档和教程,以确保正确地安装和配置redis集群。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [docker搭建redis集群详细篇](https://blog.csdn.net/m0_55116875/article/details/122220918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [docker下搭建redis集群](https://blog.csdn.net/weixin_44947701/article/details/128161008)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值