取最新版的 Redis 镜像(此步骤可省略)
docker pull redis:latest
运行redis镜像并设置密码
--requirepass 密码 设置redis密码。
设置密码并启动Redis持久化功能
docker run -itd --name redis -p 6379:6379 --restart=always \
-v /home/workspace/redis/data:/data -e TZ="Asia/Shanghai" \
redis:latest redis-server --appendonly yes --requirepass 123456
当开启了Redis的持久化功能,Redis会将数据储存到
VOLUME /data
,我们可以通过--volumes-from some-volume-container
或者-v /docker/host/dir:/data
参数
设置密码并启动Redis持久化功能、开启集群
docker run -itd --name redis -p 6379:6379 --restart=always \
-v /home/workspace/redis/data:/data -e TZ="Asia/Shanghai" \
redis:latest redis-server --appendonly yes --requirepass 123456 --cluster-enabled yes
设置集群开启
--cluster-enabled yes
组建集群
假如创建了三个redis,ip分别为172.17.0.1(容器名:redis1)、172.17.0.2(容器名:redis2)、172.17.0.3(容器名:redis3):
- 进入其中一个节点容器内,以进入 redis1 容器内为例
docker exec -it redis1 /bin/bash
- 组建集群命令(请根据自己的创建redis的ip信息进行拼接)
redis-cli --cluster create 172.17.0.1:6379 172.17.0.2:6379 172.17.0.3:6379 --cluster-replicas 0
- 注意:如果设置了redis密码,首先执行授权进行授权命令,假如密码为123456。组建集群命令如下
redis-cli -a 123456 --cluster create 172.17.0.1:6379 172.17.0.2:6379 172.17.0.3:6379 --cluster-replicas 0
- 接着会提示Can I set the above configuration? (type 'yes' to accept),输入yes即可
接着我们通过 redis-cli 连接测试使用 redis 服务。
## 进入到redis容器中
docker exec -it redis /bin/bash
## 连接客户端(密码为123456,如果没有密码不需要 -a 123456)
redis-cli -a 123456
## 如果集群模式连接客户端命令为
redis-cli -c -a 123456
## 接下来就可以测试了
set name 123456
get name