一、使用docker安装(开发适配-提供 Redis Stack 服务器和RedisInsight) (6.2.2-v3版本) 简介
- 安装命令根据实际部署情况调整
- 版本地址:官方镜像主页 | 发布版Tags
- 指定版本命令-推荐 : docker pull redis/redis-stack:6.2.2-v3
- 最新版本命令-不推荐 : docker pull redis/redis-stack:latest
- 文档更新记录:2022/05/06 当前最新稳定版本6.2.2-v3
redis/redis-stack
包含 Redis Stack 服务器和 RedisInsight。此容器最适合本地开发,因为您可以使用嵌入式 RedisInsight 来可视化您的数据。redis/redis-stack-server
仅提供 Redis Stack 服务器。此容器最适合生产部署。- 官方安装指导
二、安装
1.Docker安装点击此处,如果已经安装则跳过
2.安装Redis Stack(推荐仅用作开发环境,生产环境使用redis/redis-stack-server)
$ docker pull redis/redis-stack:6.2.2-v3
$ mkdir -p /opt/docker/redis-stack/data
$ docker run \
-p 自定义Redis端口:6379 \
-p 自定义RedisInsight端口:8001 \
-e REDIS_ARGS="--requirepass 自定义密码" \
-v /opt/docker/redis-stack/data:/data:rw \
--name redis-stack-6-2-2-v3 \
-d redis/redis-stack:6.2.2-v3
#备注:
1)6379为Redis端口,请自定义映射端口
2)8001为RedisInsight可视化页面端口,请自定义映射端口
3)requirepass为自定义密码,其他模块的参数参考 步骤3说明 ,使用 -e 传入容器,参数具体内容查看Redis官网具体模块的配置说明
4)redis-stack.conf为配置文件,此处不持久化到本地了,没什么必要,参考 步骤4说明
5)进入容器的命令:docker exec -it redis-stack-6-2-2-v3 /bin/bash
6) 按需使用的参数,非必须,一般使用 -m 限制下内存就够用了,如 -m 512m
1>容器内存限制相关
-----------------------------------------------------------------------------
选项 描述
-m,–memory 内存限制,格式是数字加单位,单位可以为 b,k,m,g。最小为 4M
–memory-swap 内存+交换分区大小总限制。格式同上。必须必-m设置的大
–memory-reservation 内存的软性限制。格式同上
–oom-kill-disable 是否阻止 OOM killer 杀死容器,默认没设置
–oom-score-adj 容器被 OOM killer 杀死的优先级,范围是[-1000, 1000],默认为 0
–memory-swappiness 用于设置容器的虚拟内存控制行为。值为 0~100 之间的整数
–kernel-memory 核心内存限制。格式同上,最小为 4M
-----------------------------------------------------------------------------
2>容器CPU限制相关,一般使用 -m 限制下就够用了,如 -m 512m
-----------------------------------------------------------------------------
选项 描述
–cpuset-cpus="" 允许使用的 CPU 集,值可以为 0-3,0,1
-c,–cpu-shares=0 CPU 共享权值(相对权重)
cpu-period=0 限制 CPU CFS 的周期,范围从 100ms~1s,即[1000, 1000000]
–cpu-quota=0 限制 CPU CFS 配额,必须不小于1ms,即 >= 1000
–cpuset-mems="" 允许在上执行的内存节点(MEMs),只对 NUMA 系统有效
说明:
其中–cpuset-cpus用于设置容器可以使用的 vCPU 核。-c,–cpu-shares用于设置多个容器竞争 CPU 时,
各个容器相对能分配到的 CPU 时间比例。–cpu-period和–cpu-quata用于绝对设置容器能使用 CPU 时间。
-----------------------------------------------------------------------------
3. 说明:其他环境变量说明(仅说明,根据个人使用去修改步骤2的参数)
要传入任意配置更改,您可以设置以下任何环境变量:
REDIS_ARGS
: Redis 的额外参数REDISEARCH_ARGS
: RediSearch 的参数REDISJSON_ARGS
: RedisJSON 的参数REDISGRAPH_ARGS
: RedisGraph 的参数REDISTIMESERIES_ARGS
: RedisTimeSeries 的参数REDISBLOOM_ARGS
: RedisBloom 的参数
例如,以下是如何使用REDIS_ARGS
环境变量将requirepass
指令传递给 Redis:
docker run -e REDIS_ARGS="--requirepass redis-stack" redis/redis-stack:latest
以下是为 RedisTimeSeries 设置保留策略的方法:
docker run -e REDISTIMESERIES_ARGS="RETENTION_POLICY=20" redis/redis-stack:latest
4.说明:redis-stack.conf配置文件无太多东西,无需映射到本地,以下为具体redis相关的配置内容,路径为容器内路径
/etc/redis-stack.conf
port 6379
daemonize no
loadmodule /opt/redis-stack/lib/redisearch.so
loadmodule /opt/redis-stack/lib/redisgraph.so
loadmodule /opt/redis-stack/lib/redistimeseries.so
loadmodule /opt/redis-stack/lib/rejson.so
loadmodule /opt/redis-stack/lib/redisbloom.so
/opt/redis-stack/etc/redis-stack-service.conf
port 6379
daemonize no
loadmodule /opt/redis-stack/lib/redisearch.so
loadmodule /opt/redis-stack/lib/redisgraph.so
loadmodule /opt/redis-stack/lib/redistimeseries.so
loadmodule /opt/redis-stack/lib/rejson.so
loadmodule /opt/redis-stack/lib/redisbloom.so
/opt/redis-stack/etc/redis-stack.conf
port 6379
daemonize yes
README
redis-stack-service.conf 复制到 /etc 用于 systemctl 案例
redis-stack.conf 位于 <package>/etc 用于用户编辑案例
也就是说/opt/redis-stack/etc/redis-stack.conf为最终生效配置会覆盖其他配置,所以daemonize为yes,其他配置通过启动命令提供即可,省事,记得记录下启动命令