大致步骤:😜
docker search redis
docker pull redis
docker network create myredis
docker network ls
3、查看dockerr网络详细信息
docker network inspect myredis
4、补充(删除网卡信息、帮助命令)
docker network rm myredis #删除网卡命令 多个中间 空格隔开
docker network --help #显示可带参数等
此处用到了一点shlle编程中 的一些命令,让我们操作更加便利。😃
for port in $(seq 6379 6384);
do
mkdir -p /home/redis/node-${port}/conf
touch /home/redis/node-${port}/conf/redis.conf
cat << EOF > /home/redis/node-${port}/conf/redis.conf
port ${port}
requirepass 1234
bind 0.0.0.0
protected-mode no
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 服务器ip地址
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
EOF
done
命令解释:😊
redis 在官网上有说明为什么需要映射两个端口:redis官网
执行命令完:
我们通过tree 命令查看目录结构:(如果没有tree命令先安装yum install -y tree)
接下来就是启动容器拉
因为要启动六个容器,一个一个去启动,肯定是麻烦丫。就再次借助shell编程的力量。
for port in $(seq 6379 6384); \
do \
docker run -it -d -p ${port}:${port} -p 1${port}:1${port} \
--privileged=true -v /home/redis/node-${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
--privileged=true -v /home/redis/node-${port}/data:/data \
--restart always --name redis-${port} --net myredis \
--sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf
done
解释:🤑
执行完成:
亦可使用docker ps -a查看运行中容器。
可以看到已全部启动成功。
👨🔧
可随意选择一个节点进入,创建Redis集群。
docker exec -it redis-6379 /bin/bash
redis-cli -a 之前设置的密码 --cluster create 配置文件中的IP地址:6379 IP地址:6380 IP地址:6381 IP地址:6382 IP地址:6383 IP地址:6384 --cluster-replicas 1
显示这样的画面就表示已经成功拉。
进入容器后,通过redis-cli -c -a 1234,进入redis。👼
输入cluster info查看集群信息
也可输入cluster nodes查看所有节点相关信息
👨💻下一步就是进入测试阶段拉。😀
我们在 6381中 set 进去,同时在 6379 中能够取出来,这代表我们已经成功拉😁
进入windows中 你redis下载的目录中,进入cmd。
测试说明 我们已经可以连接拉。
那么我们就开启两个cmd 窗口,用不一样的端口进入。
到此,可以证明我们的集群是已经搭建成功拉。
批量停止容器
for port in $(seq 6379 6384);
do
docker stop redis-${port}
done
批量删除容器
for port in $(seq 6379 6384);
do
docker rm redis-${port}
done
注: 如果是阿里云或者腾讯云上的服务器 ,要记得打开安全组规则, 6379~6384和16379 ~16384都要打开。
如果是虚拟机上,可能牵扯到防火墙,这个得注意一下。