redis 环境搭建
**************************
单机部署
数据目录:/data
默认端口:6379
拉取镜像:docker pull redis
创建单机容器:
docker run -it -d -p 6379:6379 \
-v /usr/redis/single/conf:/redis \
--name redis-single redis redis-server /redis/redis.conf
**************************
主从哨兵部署
docker run -it -d --net fixed --ip 172.18.0.3 -p 6381:6379 -v /usr/redis/sentinel/node-1/data:/data -v /usr/redis/sentinel/node-1/conf:/conf --name node-1 redis redis-server /conf/redis.conf
docker run -it -d --net fixed --ip 172.18.0.4 -p 6382:6379 -v /usr/redis/sentinel/node-2/data:/data -v /usr/redis/sentinel/node-2/conf:/conf --name node-2 redis redis-server /conf/redis.conf
docker run -it -d --net fixed --ip 172.18.0.5 -p 6383:6379 -v /usr/redis/sentinel/node-3/data:/data -v /usr/redis/sentinel/node-3/conf:/conf --name node-3 redis redis-server /conf/redis.conf
docker run -it -d --net fixed --ip 172.18.0.6 -p 26381:26379 -v /usr/redis/sentinel/node-1/data:/data -v /usr/redis/sentinel/node-1/conf:/conf --name node-1 redis redis-sentinel /conf/sentinel.conf
docker run -it -d --net fixed --ip 172.18.0.7 -p 26382:26379 -v /usr/redis/sentinel/node-2/data:/data -v /usr/redis/sentinel/node-2/conf:/conf --name node-2 redis redis-sentinel /conf/sentinel.conf
docker run -it -d --net fixed --ip 172.18.0.8 -p 26383:26379 -v /usr/redis/sentinel/node-3/data:/data -v /usr/redis/sentinel/node-3/conf:/conf --name node-3 redis redis-sentinel /conf/sentinel.conf
node-1启动日志
docker logs node-1
node-2启动日志
sentinel-1启动日志
**************************
redis cluster部署
配置文件
requirepass 123456
protected-mode no
cluster-enabled yes
cluster-announce-ip 172.18.0.11
cluster-announce-port 6379
cluster-announce-bus-port 16379
说明:需要将cluster-announce-ip替换为对应的地址
创建 redis cluster命令
docker run -it -d --net fixed --ip 172.18.0.11 -p 7001:6379 -v /usr/redis/cluster/node-1/conf:/conf -v /usr/redis/cluster/node-1/data:/data --name node-1 redis redis-server /conf/redis.conf
docker run -it -d --net fixed --ip 172.18.0.12 -p 7002:6379 -v /usr/redis/cluster/node-2/conf:/conf -v /usr/redis/cluster/node-2/data:/data --name node-2 redis redis-server /conf/redis.conf
docker run -it -d --net fixed --ip 172.18.0.13 -p 7003:6379 -v /usr/redis/cluster/node-3/conf:/conf -v /usr/redis/cluster/node-3/data:/data --name node-3 redis redis-server /conf/redis.conf
docker run -it -d --net fixed --ip 172.18.0.14 -p 7004:6379 -v /usr/redis/cluster/node-4/conf:/conf -v /usr/redis/cluster/node-4/data:/data --name node-4 redis redis-server /conf/redis.conf
docker run -it -d --net fixed --ip 172.18.0.15 -p 7005:6379 -v /usr/redis/cluster/node-5/conf:/conf -v /usr/redis/cluster/node-5/data:/data --name node-5 redis redis-server /conf/redis.conf
docker run -it -d --net fixed --ip 172.18.0.16 -p 7006:6379 -v /usr/redis/cluster/node-6/conf:/conf -v /usr/redis/cluster/node-6/data:/data --name node-6 redis redis-server /conf/redis.conf
创建集群命令: redis 5可以使用redis-cli命令创建集群
[root@centos cluster2]# docker exec -it node-3 bash
root@126da8ddfe21:/data# redis-cli -a 123456 --cluster create 172.18.0.11:6379 172.18.0.12:6379 172.18.0.13:6379 172.18.0.14:6379 172.18.0.15:6379 172.18.0.16:6379 --cluster-replicas 1