JavaEE进阶——Docker安装Redis(单机/集群)
程序员文章站
2022-05-20 21:07:21
...
准备工作
安装单机版Redis
-
docker pull redis:3.2
-
启动Redis容器;
docker run -d -p 6379:6379 --name 容器名 redis:3.2
-
防火墙开启6379端口(CentOS 7宿主机);
firewall-cmd --zone=public --add-port=6379/tcp --permanent firewall-cmd --reload
-
测试连接。
安装集群版Redis(一主两备)
-
本地下载对应版本的redis压缩包(我是3.2的镜像),解压出 redis.conf 模板文件,拷贝三份
redis-master.conf
、redis-slave1.conf
和redis-slave2.conf
进行修改;# redis-master.conf 需要修改部分 daemonize yes pidfile /var/run/redis.pid bind 0.0.0.0 # 原来是bind 127.0.0.1 # redis-slave1.conf 需要修改部分 daemonize yes pidfile /var/run/redis.pid slaveof master 6379 # 注释打开 # redis-slave2.conf 需要修改部分 daemonize yes pidfile /var/run/redis.pid slaveof master 6379 # 注释打开
其中,
slaveof master 6379
默认被注释,需要我们打开注释修改,master在这里充当 ip 的角色,后面利用 –link 参数来配置redis主机的别名为 master,用以让从机进行识别。 -
创建redis集群容器,一主两备,备份机通过 –link 连接主机;
docker run -it -p 6380:6379 -v /usr/local/redis/redis-master.conf:/usr/local/etc/redis/redis.conf --name taotao-rediscluster-master redis:3.2 /bin/bash docker run -it -p 6381:6379 -v /usr/local/redis/redis-slave1.conf:/usr/local/etc/redis/redis.conf --name taotao-rediscluster-slave1 --link taotao-rediscluster-master:master redis:3.2 /bin/bash docker run -it -p 6382:6379 -v /usr/local/redis/redis-slave2.conf:/usr/local/etc/redis/redis.conf --name taotao-rediscluster-slave2 --link taotao-rediscluster-master:master redis:3.2 /bin/bash
其中,
/usr/local/redis
目录是我在宿主机存放三个配置文件的目录,启动好一个容器可以Ctrl+P
和Ctrl+Q
进行退出创建下一个容器。 -
启动redis服务。先启动
master
,然后启动slaver
。在三个容器中都输入:redis-server /usr/local/etc/redis/redis.conf
-
测试集群搭建情况。
redis-cli 127.0.0.1:6379> info
-
防火墙开启6380、6381和6382端口。
firewall-cmd --zone=public --add-port=6380/tcp --permanent firewall-cmd --zone=public --add-port=6381/tcp --permanent firewall-cmd --zone=public --add-port=6382/tcp --permanent firewall-cmd --reload