1、运行Redis容器
mkdir -p /opt/redis/conf
touch /opt/redis/conf/redis.conf
docker run -p 6379:6379 \
--name redis \
-v /opt/redis/data:/data \
-v /opt/redis/conf:/etc/redis \
-d redis redis-server /etc/redis/redis.conf
2、验证
docker inspect redis
docker run -it redis redis-cli -h 172.17.0.2
或
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install redis
# 当前redis运行的地址
redis-cli -h 192.168.xxx.xxx -p 端口号
3、Redis集群
安装redis-cluster: 3主3从方式,从为了同步备份,主进行slot数据分片
# 创建并运行redis集群脚本
# cat redis-cluster.sh
for port in $(seq 8001 8006); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >/mydata/redis/node-${port}/conf/redis.conf
port ${port}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.164.140
cluster-announce-port ${port}
cluster-announce-bus-port 1${port}
appendonly yes
EOF
docker run -p ${port}:${port} -p 1${port}:1${port} --name redis-${port} \
-v /mydata/redis/node-${port}/data:/data \
-v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d redis:5.0.7 redis-server /etc/redis/redis.conf; \
done
登录redis容器
docker exec -it redis-8001
创建redis-cluster
root@a88d26cb50d1:/data# redis-cli --cluster create 192.168.xxx.xxx:8001 192.168.xxx.xxx:8002 192.168.xxx.xxx:8003 192.168.xxx.xxx:8004 192.168.xxx.xxx:8005 192.168.xxx.xxx:8006 --cluster-replicas 1
输出:
输入yes
测试
[root@www ~]# redis-cli -h 192.168.xxx.xxx -p 8001 -c
192.168.xxx.xxx:8001> set k1 v1
-> Redirected to slot [12706] located at 192.168.xxx.xxx:8003
OK
192.168.xxx.xxx:8003> get k1
"v1"