docker 搭建redis集群(入门级)

准备测试机三台
192.168.11.134 redis1
192.168.11.156 redis2
192.168.11.157 redis3

一、三台测试机搭建dcker环境
centos7 搭建docker环境

二、准备构建文件
1)、redis 压缩包:
wget --tries=3 http://download.redis.io/releases/redis-5.0.5.tar.gz

2)、编写redis配置文件
vim redis7000.conf
port 7000
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
protected-mode no
pidfile /usr/local/redis-cluster/7000/7000.pid

vim redis7001.conf
port 7001
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
protected-mode no
pidfile /usr/local/redis-cluster/7001/7001.pid
在这里插入图片描述
3)、编写dockerfile文件
vim redis.df
FROM centos:7
RUN yum install -y gcc make net-tools
ADD redis-5.0.5.tar.gz /usr/local/
WORKDIR /usr/local/redis-5.0.5
RUN make MALLOC=libc \
&& make install PREFIX=/usr/local/redis
RUN mkdir -p /usr/local/redis-cluster \
&& mkdir -p /usr/local/redis-cluster/700{0,1}
RUN cp -ar /usr/local/redis/bin/* /usr/local/redis-cluster/7000 \
&& cp -ar /usr/local/redis/bin/* /usr/local/redis-cluster/7001
COPY redis7000.conf /usr/local/redis-cluster/7000/
COPY redis7001.conf /usr/local/redis-cluster/7001/
ADD run.sh /root
RUN chmod +x /root/run.sh

EXPOSE 7000
EXPOSE 7001
CMD [“sh”,"-c","/root/run.sh"]
在这里插入图片描述
#编写dockfle 尽量避免分层太多,不然构建出来的镜像会比较大!

4)编写容器启动shell
vim run.sh
wangkes=ifconfig |egrep "^e" |head -n 1 |awk -F ":" '{print $1}'|head -n 1
Networks=ifconfig $wangkes |awk '/broadcast/{print $2}'
sed -i “2{s/bind 0.0.0.0/bind “KaTeX parse error: Expected 'EOF', got '}' at position 14: {Networks}"/g}̲" /usr/local/re…{Networks}”/g}” /usr/local/redis-cluster/7001/redis7001.conf
cd /usr/local/redis-cluster/7000/ && /usr/local/redis-cluster/7000/redis-server /usr/local/redis-cluster/7000/redis7000.conf
cd /usr/local/redis-cluster/7001/ && /usr/local/redis-cluster/7001/redis-server /usr/local/redis-cluster/7001/redis7001.conf
tail -f /dev/null
在这里插入图片描述

三、构建dockerfile文件
1)、构建reids
docker build -t redis:latest -f redis.df ./
在这里插入图片描述
2)查看镜像是否构建成功
在这里插入图片描述

四、将redis镜像发送到其他两台机器
1)、打包redis镜像
打包:docker save redis:latest > redis.tar.gz
在这里插入图片描述
发送:
scp -r redis.tar.gz root@192.168.11.156:/root
scp -r redis.tar.gz root@192.168.11.157:/root
在这里插入图片描述
解压:
192.168.11.156机器: docker load < redis.tar.gz
在这里插入图片描述
192.168.11.157机器: docker load < redis.tar.gz
在这里插入图片描述
五、启动redis镜像
1)、 依次启动redis镜像
redis1: docker run -itd --name redis1 --hostname redis1 --network=host redis:latest
redis2:docker run -itd --name redis2 --hostname redis2 --network=host redis:latest
redis3:docker run -itd --name redis3 --hostname redis3 --network=host redis:latest

2)、查看是否redis容器是否启动成功
在这里插入图片描述
3)、查看容器中redis服务是否正常启动
可以根据查看docker日志:docker logs redis1
在这里插入图片描述

4)启动集群:
1)、进入到redis1容器中:
docker exec -it redis1 /bin/bash
2)可以查看redis配置文件是否生效:(可选)
cat /usr/local/redis-cluster/redis7000.conf
在这里插入图片描述

3)、启动redis集群:
/usr/local/redis-cluster/7000/redis-cli --cluster create 192.168.11.134:7000 192.168.11.134:7001 192.168.11.156:7000 192.168.11.156:7001 192.168.11.157:7000 192.168.11.157:7001 --cluster-replicas 1
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值